Несмотря на все попытки Чан Кайши модернизовать войска Гоминьдана, все они, подобно войскам его союзников – различных местных полевых командиров – все же были намного хуже подготовлены и вооружены, чем те японские дивизии, с которыми они сошлись на поле боя. Пехотинцы носили сине-серую хлопковую форму летом, а зимой те, кому повезло, имели подбитые пухом хлопковые бушлаты или монгольские полушубки из овечьей шерсти. Их обувь состояла в основном из матерчатых туфель или соломенных сандалий. Хотя такая обувь и делала все их передвижения абсолютно бесшумными, она не защищала от острых бамбуковых шипов, покрытых экскрементами с целью вызвать заражение крови, которые японцы использовали для защиты своих позиций. Китайские солдаты носили шапки с ушами, завязанными сверху. У них не было стальных касок, кроме захваченных у японцев, которые они носили с большой гордостью. Многие также носили японские мундиры, снятые с убитых японских солдат, что даже стало вносить путаницу во время тяжелых боев. Самым ценным трофеем считались японские пистолеты. Действительно, часто китайским солдатам легче было найти патроны для захваченного ими японского оружия, чем для тех винтовок, которые им выдавали, так как все они были сделаны в разных странах и на разных заводах. Хуже всего обстояло дело с медицинской службой, артиллерией и авиацией.
Главным средством связи в китайских частях был горн. По сигналам горна войска шли в атаку и отступали. Радиосвязь существовала только между штабами крупных соединений и была крайне ненадежной. К тому же японцы с легкостью расшифровывали их радиокоды и таким образом получали всю необходимую информацию о дислокации китайских войск и планах их командования. Китайский военный транспорт состоял из небольшого количества грузовиков, но основная масса подразделений на фронте вынуждена была использовать мулов, которых заставляли двигаться палкой и морем проклятий на их голову, монгольских низкорослых лошадок и повозки, запряженные быками, на тяжелых деревянных колесах. Но и этого транспорта не хватало, а это значило, что китайские солдаты часто не имели никакого продовольствия. Их жалование всегда запаздывало на несколько месяцев, его часто крали офицеры, отчего боевой дух солдат падал еще больше. Но при этом нельзя не отметить храбрость и решимость китайских солдат во время сражения за Шанхай летом того года.
Причины и мотивы, приведшие к этому великому сражению, обсуждаются и по сей день. Классическим объяснением считается предположение, что Чан Кайши, открыв новый фронт в Шанхае, и продолжая одновременно борьбу на севере и в центре страны, хотел расколоть японские силы, чтобы их нельзя было сконцентрировать для последнего решительного удара по китайской армии. Это была его война на истощение, как и советовал генерал фон Фалькенхаузен. Сражение за Шанхай было также призвано заставить коммунистов и других союзников принять более активное участие в борьбе с японцами, даже если и существовал риск того, что эти союзники в любой момент могут отвести свои войска. Ведь союзники Гоминьдана не хотели подвергать свои силы риску разгрома, чтобы в результате не потерять районы своего влияния. Это сражение также обеспечило заявление о поддержке со стороны Советского Союза, который прислал в страну группу военных советников, а также танки, артиллерийские орудия, истребители, пулеметы, грузовики. Китай оплатил все это поставками в СССР различного сырья.
Другая версия, объясняющая причины начала сражения за Шанхай, выглядит намного более интригующе. В действительности Сталин, глубоко обеспокоенный успехами японской армии на севере Китая, хотел переместить центр тяжести боевых действий на юг Китая, т.е. подальше от восточных границ Советского Союза. Ему удалось это сделать, благодаря местному командиру сил Гоминьдана генералу Чжан Чжичжуну, тайному советскому агенту. Несколько раз Чжан Чжичжун пытался убедить генералиссимуса нанести превентивный удар по японскому гарнизону в Шанхае, состоящему из 3 тыс. морских пехотинцев. Чан Кайши приказал ему не совершать никаких действий без его согласия. Наступление на Шанхай было очень рискованным. Город находился всего в 290 км от Нанкина – столицы Китая на тот момент времени, и поражение в этом районе, расположенном так близко к устью реки Янцзы, могло привести к стремительному продвижению японских войск к столице, а также в центр страны. 9 августа 1937 г. Чжан Чжичжун отправил группу отборных бойцов к Шанхайскому аэродрому, где они застрелили японского лейтенанта морской пехоты и сопровождавшего его солдата. По свидетельству самого Чжан Чжичжуна, после этого они застрелили китайского заключенного, приговоренного к смертной казни, для того чтобы представить происшедшее так, будто японцы стреляли первыми. Японцы, также не желавшие начинать боевые действия в Шанхае, поначалу даже никак не отреагировали, разве что вызвали подкрепление. Чан Кайши вновь приказал Чжан Чжичжуну не нападать на японцев. 13 августа японские военные корабли открыли огонь по китайским кварталам Шанхая. На следующее утро две дивизии войск Гоминьдана начали наступление на город. Атаке с воздуха также подвергся флагман Третьего японского флота старый крейсер Izumo, стоявший на якоре в районе набережной Вайтань, в самом центре города. Эта атака стала плохим началом. Огнем своей зенитной артиллерии японский крейсер с легкостью отогнал допотопные самолеты китайцев. Несколько зенитных снарядов попали в бомбодержатели одного из бомбардировщиков в тот самый момент, когда он пролетал над отелем «Палас», расположенным на Нанкинской улице, в самом центре международного района Шанхая. Бомбы упали на толпы собравшихся людей. Таким образом, под бомбами своего самолета погибли и были ранены около 1300 мирных жителей.
Обе противоборствующие стороны начали быстро наращивать свои силы в зоне боевых действий, что вскоре превратило битву за Шанхай в самое крупное сражение японо-китайской войны. 23 августа японцы, усилив свою группировку в самом Шанхае, высадили десант на побережье к северу от города, чтобы обойти позиции националистов с фланга. Японские десантные суда выгрузили на берег танки, а корабельная артиллерия нанесла китайцам серьезный урон, усугубившийся еще и тем, что у националистов практически не было артиллерии для того, чтобы нанести ответный удар. Попытки войск националистов заблокировать реку Янцзы провалились, а у малочисленной китайской авиации не было ни единого шанса побороться за господство в воздухе с превосходящей авиацией японцев.
В период с 11 сентября части националистов при активном участии в руководстве войсками со стороны фон Фалькенхаузена вели бои с японцами, проявляя невиданное мужество и неся при этом огромные потери. Большинство китайских дивизий, особенно элитные формирования Чан Кайши, потеряли более половины личного состава, включая почти 10 тыс. младших офицеров. Чан Кайши, будучи не в состоянии решить, что же делать дальше – продолжать сражение или отойти, – все же послал в бой подкрепления. Таким способом он надеялся привлечь внимание всего мира к неравной борьбе Китая с Японией как раз перед очередным заседанием Лиги Наций.
Всего японцы сосредоточили на Шанхайском фронте почти 200 тыс. человек – больше, чем они дислоцировали на севере Китая. На третьей неделе сентября они смогли прорвать китайскую оборону в нескольких местах, вынудив силы националистов отступить в октябре к реке Юньцзаобинь, представлявшую собой довольно внушительную водную преграду. Отступая, китайцы оставили один батальон защищать помещения промышленных складов, чтобы создать впечатление, будто войска националистов все еще держатся в Шанхае. Этот «один-единственный батальон» стал легендой китайской пропаганды в борьбе против японских захватчиков.
В начале ноября, после ожесточенных боев, японские войска все же смогли, используя маленькие металлические лодки, форсировать в нескольких местах реку Юньцзаобинь и захватить плацдармы на другом берегу. Затем, совершив еще одну высадку, на этот раз на побережье к югу от Шанхая, японцы вынудили войска националистов отступить. Дисциплина и боевой дух, которые в этих тяжелых боях были на высоте, в одночасье рухнули. Солдаты бросали винтовки, а беженцев затаптывали в панике, вызванной налетами японских самолетов. На протяжении трех месяцев боев в районе Шанхая японцы потеряли убитыми более 40 тыс. человек. Потери китайской стороны составили свыше 187 тыс. человек – в четыре с половиной раза больше.