Наполеон, сосредоточивший под своим личным командованием 80000 превосходных, готовых к бою солдат, в том числе императорскую гвардию и кавалерийский резерв Бесьера, намеревался перейти Дунай и дать эрцгерцогу сражение, в надежде уничтожить его до прибытия к нему подкреплений. С этой целью он приказал навести с правого берега реки на остров Лобау мост, построенный из самых прочных материалов на 68 больших лодках и 9 огромных плотах, а с Лобау на Мархфельд, в месте, расположенном на полпути между населенными пунктами Асперн и Эслинг, — более легкий понтонный мост; утром 21 он с величайшим рвением и тщательностью начал переправлять войска. Со своей возвышенной позиции австрийский командующий заметил опрометчивость маневра, состоявшую в том, что император переправлял свою огромную армию через широкую и быструю реку по единственному мосту, допускавшему лишь медленное движение всех родов войск друг за другом по его длинным и узким мосткам, по которым с трудом могла передвигаться кавалерия, и с еще большим трудом — артиллерия; в случае вынужденного отступления этот мост едва ли дал бы возможность спасти армию. Подметив это, он тотчас же решил воспользоваться случаем и уничтожить половину французских сил на северном берегу, пока остальная часть армии была еще занята переправой, либо же оставалась на южном берегу. Отправив Коловрату, Нордману и другим офицерам, командовавшим войсками, которые находились выше по реке, распоряжения приготовить лодки с тяжелым грузом и горючими веществами для разрушения в подходящий момент мостов, эрцгерцог укрыл свои главные силы и отдал приказ кавалерии и аванпостам оказать сопротивление лишь для вида и затем отойти перед наступающими французами, которых вел Массена. К 12 часам, когда движение неприятеля уже достаточно далеко зашло — свыше 40000 французов были уже на северном берегу, — эрцгерцог Карл мог взять инициативу в свои руки. В этот момент он и спустился с лесистых высот Бизамберга с 80000 человек, в том числе с 14000 прекрасной кавалерии и 288 орудиями, и устремился на неприятеля, выбрав главными объектами атаки два населенных пункта на флангах Наполеона — Асперн и Эслинг; центральное пространство между этими двумя укрепленными пунктами, каменные здания, окруженные стенами сады и множество изгородей, было занято мощными австрийскими батареями, которые прикрывались преимущественно кавалерией, а в тылу в качестве резерва находилась пехота Гогенцоллерна. Бой, завязавшийся на обоих крыльях во время фланговой атаки, был страшен: ярость нападения, как и упорство обороны, почти не имеют примеров в истории войн. Оба населенных пункта несколько раз переходили из рук в руки, а австрийская артиллерия производила такое ужасное опустошение в рядах французов, что Наполеон приказал произвести общую кавалерийскую атаку с целью попытаться взять батареи. Превосходные французские гвардейские кирасиры атаковали со своей обычной стремительностью и храбростью, опрокинули австрийскую конницу и захватили бы пушки, если бы последние не были поспешно увезены, а пехота не образовала каре, которые, как впоследствии при Ватерлоо[55], отразили все попытки прорвать их неприступный строй; в конце концов они разбили конницу и принудили ее отступить в полном расстройстве и с большими потерями к своим линиям. Тем временем Асперн был взят австрийскими войсками; их центр постепенно, но неудержимо продвигался вперед, несмотря на доблестную самоотверженность кирасиров, которые, с каждым разом все с меньшим числом, вновь и вновь предпринимали атаки и одни предупредили прорыв французских линий.
Ночь на короткое время прервала борьбу; но французы уже потерпели явное поражение в решающем сражении; их левый фланг был обойден, а центр отброшен почти до мостов; и хотя Эслинг, на их правом фланге, и оборонялся благодаря геройству Ланна, он был окружен австрийцами, которые дремали, опираясь на ружья, среди трупов французов, ожидая только рассвета, чтобы снова начать наступление.