只带三千太平军就敢去打列强和清军盘踞的上海,忠王李秀成哪来的信心?首先,忠王李秀成和干王洪仁玕都认为列强不会干涉,太平天国和洋人都是“一样拜天父宗耶稣教”,洋人此时和清政府正有矛盾,他们天真的认为“洋兄弟”不会帮助清政府来打太平军,不会遭受他们的抵抗。其次,即便是洋人真的抵抗了,凭借太平军军锋的锐气,将士的骁勇,取上海弹丸之地“犹如探囊取物”。在进攻上海前,洪仁玕和李秀成还分别给英、美、法公使和领事写信,向他们宣将太平天国对外平等互惠的通商政策,希望列强不要帮助清兵坚守。
因此,太平军第一次进攻上海,军事准备是不充分的,或者说是极为不充分。洪仁玕和李秀成的一厢情愿,并没有妨碍列强在镇压太平天国问题上和清政府走在一起结成同盟,“没有永远的敌人,只有永远的利益”,列强在第二次鸦片战争中从清政府的手里榨取的是盆满钵圆,为了维护自身的利益,自然要帮助清政府。1860年5月27日,当太平军和清军在苏州激战正酣的时候,驻上海的法军便“遣一百五十名屯驻在天主教堂附,以表示不能再让上海落入太平军手中的决心”,英美等国也决定“用武力保护上海,使之不受袭击,并协助当局维持城内秩序”。
清政府的地方官员也行动起来,武装保卫上海,苏松太道吴煦和买办杨坊自掏腰包雇佣了华尔、白齐文和法尔思德三个美国海盗,组成了以华尔为首的武装,并以重赏的方式引诱他们去袭击太平军占据的松江城。结果这伙武装利用太平军主力外出,城内都是老弱残兵、不闭城门的机会偷袭得手了,华尔因此得到了三万两海关银的报酬,利欲熏心下,华尔在8月2日青浦之战失败后再一次进攻了太平军。如果说松江的丢失没有改变太平军进攻上海的决心,那么青浦之战,促使李秀成不得不改变计划,先救青浦。8月9日,太平军与华尔展开激战。“自辰至午,鬼军大败,杀死鬼兵六七百人,得其洋枪二千余条,得其大炮十余条,得洋庄百余口,得其舟只数百余条,当解青浦之围。”从《李秀成自述》中的这段描述来看,太平军打了一个大胜仗,得胜的太平军于8月12日二克松江城,之后由此引兵进攻上海,18日进抵徐家汇逼进上海西、南两门,并于18日-21日进行了激战。
面对华尔的失败和太平军的近在咫尺,列强慌了,他们决定自行参战,因此8月18日-21日发生的激战成为中外反动势力第一次联合对抗太平军的战斗,战斗期间,上海城内的英法军队主动协助清军防守,停泊在黄浦江上的英国战舰也开炮轰击太平军。几经激战,太平军伤亡惨重,此时嘉兴又告急,李秀成不得已撤兵而去,第一次进攻上海就此结束。
第一次上海之战,是李秀成违背洪秀全天京军事会议的决定而采取的贸然行动,本来打下苏州、常州后他就应该班师回朝准备西征,然而李秀成对西征的态度极不情愿,一心一意的就想在东线搞自己的小天地,置大局于不顾,尽管后来不得已奉诏回到天京准备西征,但机会已失。就这样太平天国错失了最后翻盘的可能,李秀成也因此备受争议。