In de nacht van 4-5 juli stak Napoleon met 190.000 man de provisorische bruggen over
die waren aangelegd van het (toenmalige) eiland Lobau in de Donau naar de noordelijke
oever. Per ongeluk werden twee korpsen dezelfde brug toegewezen door Napoleons stafchef
Berthier, wat tot een grote opstopping leidde. De Franse korpsen onder bevel van
Masséna, Oudinot en Davout waren de volgende dag over de brug heen, terwijl de Saksische
troepen onder bevel van Bernadotte zich achteraan sloten. De Franse artillerie bombardeerde
de Oostenrijkers in het gebied rond Aspern en Eßling, waarna de Fransen de dorpjes
innamen. De Oostenrijkers werden teruggeslagen en rond zonsondergang gaf Napoleon
het bevel tot een aanval die de veldslag zou beslissen voordat Oostenrijkse reserves
onder bevel van aartshertog Johan het slagveld konden bereiken. De slecht gecoördineerde
aanval, door Italiaanse troepen onder bevel van generaal Macdonald, was echter een
mislukking, waardoor de veldslag bij het vallen van het donker nog steeds onbeslist
was.
Bij zonsopgang op 6 juli voerden de Oostenrijkers een schijnaanval uit op de Franse
rechterflank in een poging om de Franse reserves weg te houden van de echte aanval
rond Aderklaa. Bij deze schijnaanval werd Bernadottes Saksische korps teruggedrongen.
Napoleon gaf hierop het bevel om zijn artilleriebatterijen te verenigen tot een enorme
Grande Batterie van 112 kanonnen. Hiermee kon de Oostenrijkse aanval tot stand gehouden
worden. Met assistentie van Masséna en de Franse cavalerie bleef de Franse linie
aan de linkerflank overeind.
De beslissende aanval kwam aan de Franse rechterflank, waar Macdonald met een taartpuntvormige
formatie van 8000 man, na zware bajonetgevechten, door het avancerende Oostenrijkse
centrum brak, waarbij het Oostenrijkse leger in twee delen spleet. Tijdens deze aanval
sneuvelde de Franse cavaleriegeneraal Lasalle.