- Walki na ulicach Aspern
Pobite armie austriackie w bitwach pod Ratyzboną i Eckmühl zostały podzielone. Grupa arcyksięcia Karola operująca od strony Czech oraz pozostałe korpusy cofające się w kierunku Wiednia. Głównym założenie sztabu austriackiego była obrona przecięć głównych dróg i szlaków komunikacyjnych. 3 maja Francuzi stoczyli bitwę z wycofującym się w kierunku stolicy Austrii — Wiedniem. W bitwie pod Ebersbergiem zmusili austriacki korpus Hillera do odwrotu. Niedługo później Wiedeń po raz kolejny w czasie wojen napoleońskich wpadł w ręce Napoleona. Cesarz nie zamierzał, przekraczać Dunaju w pościgu za arcyksięciem a uderzyć na Wiedeń licząc, na wydanie decydującej bitwy. Arcyksiążę Karol oparł dalszą obronę o przeprawy na wschód od stolicy. Rozpoczął koncentrację sił z przeciwnej strony Dunaju, oczekując na forsowanie rzek przez Grande Armée. 19 maja Francuzi rozpoczęli budowę mostu na południu od wyspy Lobau.
Dunaj na wschód od Wiednia tworzył liczne mniejsze kanały, posiadając przy liczne niewielkie wyspy. Jedną z nich była duża wyspa - Lobau — znajdująca się na północ od Dunaju. Francuzi, aby przeprawić się przez Dunaj musieli wybudować mosty przebiegające przez strategiczną wyspę. Cesarz postanowił przejść na wyspę przez przejście Kaiser-Ebersdorf i dwie mniejsze wyspy Schneidergrund i Lobgrund. Pierwszy odcinek dużego mostu a kolejny mniejszego. Pracę nad tak skomplikowanymi mostami wymagały wiele poświęcenia inżynierów oraz dużego zużycia materiałów potrzebnych do trwających kampanii. 20 maja płynący rzeką statek rozbił odcinek mostu Schneidergrund i Lobgrund odcinając część jednostek Wielkiej Armii od południowej części Dunaju. Już pierwszego dnia bitwy 21 maja Napoleon pozostał odcięty z 24000 żołnierzami i 60 działami przeciwko 95000 żołnierzy austriackich z 200 działami. Oznaczało to, że pierwsze godziny bitwy było niekorzystne dla Napoleona. Austriacy dysponowali miażdżącą przewagą w sile ognia, jak i liczebności.
Pierwsze starcia
Dysponując, mniejszymi siłami na drugiej stronie Dunaju Napoleon rozmieścił, swoje korpusy wokół dwóch wiosek - Esslig i Aspern. IV korpus Masseny zajął pozycję wokół Aspern, dywizja Molitiora obsadziła Aspern. Kawalerię Nansoutego, Espagne i Lassale ustawiono w centrum pomiędzy wioskami. Wokół Essling rozmieszczono II korpus pod dowództwem marsz. Lannesa i St. Hillare.
Austriacki sztab planował dalszy sabotaż mostów, aby utrzymywać pozostałe wojska francuskie jak najdłużej drugiej strony rzeki, by zniszczyć Korpusy pod dowództwem Napoleona pod Aspern-Essling. Na niekorzyść Wielkiej Armii był fakt, że prace nad odbudową przepraw trwały powoli trzymając na drugiej stronie pozostałe siły potrzebne do walki z przeważającymi siłami nieprzyjaciela.
Pierwsze uderzenie spadło na Aspern z austriackiego korpusu Hillera. Massena z trudem utrzymywał, wioskę broniąc, się niewielkimi siłami. Centrum pomiędzy obiema wioskami broniła, kawaleria skutecznie przyjmując, atak austriacki. W Essling marsz. Lannes utrzymywał, Austriaków na dystans nie odstępując pozycji wyjściowych. Francuzi utrzymywali Aspern, podczas gdy przybyły posiłki przez naprawione mosty. Wieczorem siły francuskie wzrosły do 32000 żołnierzy. Dalsze starcie z nacierającymi korpusami austriackimi trwały do późnego wieczora. Do zmroku Wielka Armia zdołała zatrzymać pierwsze natarcia. 21 maja pozostał dniem nierozstrzygającym bitwę dla żadnej ze stron.
W nocy o godzinie 3 przybyła reszta II korpusu pod dowództwem Oudinota, a także gwardia i reszta kawalerii. Przed rankiem siły Napoleona liczyły już około 60000 żołnierzy. Mimo to korpus marsz. Davouta nadal stał na południowych przeprawach przed wyspą Lobau. Mosty na nią były, niszczone co uniemożliwiało wejście tego korpusu na czas.
Napoleon przypuścił wzmocnionymi siłami kontratak na austriackie pozycje (liczył wtedy na przybycie korpusu Davouta). Lannes i Oudinot przy wsparciu kawalerii zaatakowały austriackie centrum. Wyprowadzony atak został zatrzymany przy rzucie do walki grenadierów pod osobistym dowództwem arcyksięcia Karola. Gdy zostały zburzone po raz kolejny mosty na Dunaju, gdzie marszałek Davout oczekiwał, na przeprawę Napoleon wydał, rozkaz do odwrotu wiedząc, że nie jest w stanie dysponującym niepełnymi siłami pokonać w bitwie Austriaków. O godzinie 13:30 pozycje były nie do utrzymania, a o godzinie 14:00 Napoleon wydał rozkaz do odwrotu. Francuzi wycofali się na Lobau pod osłoną gwardii. Ostatecznie most łączący północny brzeg Dunaju został rozebrany 23 maja o godzinie 3:30 w nocy.
Wynik bitwy
W trakcie dwudniowych starć obie strony walczące utraciły wiele ludzi. Najwięcej ludzi zginęły w trakcie pojedynków artyleryjskich w czasie bitwy o miejscowości Essling-Aspern. Francja utraciła jednego z najlepszych marszałków tej wojny — Jeana Lannesa oraz generałów Espagne i St.Hillare. Austriacy odnieśli symboliczne zwycięstwo, które podobnie jak bitwa pod Iławą podważyło mit o „niepokonanym” Napoleonie. Cesarz po tej porażce chciał jak najszybciej naprawić swoją klęskę pod Aspern-Essling.