1932年淞沪战役发生后,时任国民党军队第八师二五九旅少将旅长的率军坚守上海宝山庙行镇十一天,和友军一起夹击日军,让日军受到空前挫败。当时国际舆论评价此役为“国民党军第一次击败日军的战役”,孙元良因此役擢升为第八十八师师长。
1937年7月7日,抗日战争全面爆发。8月,日军在上海虹口、杨树浦一带集结重兵,妄图“三个月灭亡中国”。8月11日,京沪警备司令张治中率第八十七师、第八十八师到上海杨树浦及虹口以北布防。8月13日,日本海军陆战队首先由虹口向天通庵车站至横浜路段开枪挑衅,并派出一支部队向宝山路、八字桥、天通庵路进攻,被率领的第八十八师击退。此后,孙元良率领八十八师官兵在上海闸北一带坚守阵地长达一个半月之久,粉碎了日军“三月亡华”的图谋。
为了掩护国民党主力部队转移,又下令八十八师五二四团第一营的四百多名官兵,固守四行仓库阵地,并亲手将“死守上海最后阵地”的命令交给谢晋元团长,然后自己撤退。面对八十八倍之众的日军,四行仓库官兵奋勇抵抗,最后全部退入租界,被解除武装,关进集中营。但是通过新闻媒体的广泛报道,全国士气为之振奋,世界为之关注。这就是历史上有名的“八百壮士”。而撤退了的孙元良却因“八百壮士”之功再被升为国民革命军第七十二军军长,仍兼任八十八师师长。