Contexto y causas
En 1809 Austria, percibiendo que Napoleón estaba inmerso en la larga guerra de la Península Ibérica y temiendo la debilidad de su alianza con Rusia, decidió lanzar una ofensiva para vengar la humillación sufrida en Austerlitz.
Desarrollo de la campaña
Mientras Austria avanzaba en Baviera, Napoleón reunió un enorme ejército en Alemania, aunque de menor calidad que sus veteranos en España. Derrotó a los austríacos en Eckmühl y tomó la fortaleza de Ratisbona, llegando rápidamente a Viena. El ejército austríaco, retirado ordenadamente al norte del Danubio, no fue aniquilado y Austria rechazó la paz.
Con Viena ocupada, el archiduque Carlos destruyó los puentes sobre el Danubio y reagrupó sus fuerzas a unos cinco kilómetros al noreste de la capital, cerca de Bisamberg, en una altura de la margen izquierda del río. Los franceses necesitaban cruzar el Danubio; eligieron la isla de Lobau como punto de paso. Durante la noche del 19 al 20 de mayo se tendieron puentes desde la margen derecha hasta Lobau y, al anochecer, se completó un puente que unía la isla con la margen izquierda.

Al amanecer del 21 de mayo, unos 40.000 soldados franceses se encontraban en la llanura de Marchfeld, al oeste del Danubio, zona que más tarde sería escenario de la batalla de Wagram. El archiduque, consciente de la vulnerabilidad del cruce, pretendía que una parte considerable del ejército francés cruzara antes de que el resto pudiera apoyar a sus tropas.
Los franceses se desplegaron frente a los puentes, con el pueblo de Aspern a la izquierda y Essling a la derecha. Aspern, situado en la orilla de una rama del Danubio, era inaccesible por el flanco izquierdo, obligando a los franceses a avanzar sobre una línea que unía ambos pueblos.

Primer día (20‑21 de mayo)
Los combates se iniciaron en Aspern. Tras varios asaltos, el general Hiller tomó el pueblo, pero el mariscal Masséna lo recuperó y lo defendió con la tenacidad que había demostrado en Marengo. La infantería francesa luchó con valor, algo que había sido escaso en batallas recientes.
Al mismo tiempo, en Essling se libraba una lucha igualmente encarnizada. Los cuirassiers franceses atacaron la retaguardia de Rosenberg, mientras el mariscal Lannes sostenía la defensa con una sola división hasta la caída de la noche.
Segundo día (22 de mayo)
Al alba del 22 de mayo, la batalla se reanudó. Masséna volvió a expulsar a los austríacos de Aspern, pero Rosenberg contraatacó con fuerza en Essling. Lannes, reforzado por la división de Saint‑Hilaire, logró detener el avance austríaco y recuperar terreno.
Napoleón lanzó un gran ataque contra el centro austríaco. El ejército francés avanzó con Lannes a la izquierda y la caballería en reserva. La línea austríaca se quebró entre Rosenberg y Hohenzollern, y el archiduque Carlos, con su reserva al frente, intentó revertir la situación, pero sin éxito. Los puentes sobre el Danubio, ya dañados, fueron destruidos nuevamente por barcazas que los austríacos dejaron a la deriva.
Finalmente, el agotamiento general de ambos bandos puso fin a los combates. Los franceses, que habían perdido 21.000 de los 90.000 que habían desplegado, se retiraron a Lobau mientras esperaban refuerzos.
Consecuencias
La batalla dejó unas 45.000 bajas entre ambos ejércitos. Francia perdió a uno de sus mejores oficiales, el mariscal Jean Lannes, quien falleció el 31 de mayo a causa de las heridas recibidas el 22 de mayo. La derrota frenó temporalmente el impulso napoleónico en la campaña de 1809 y obligó a los franceses a reorganizarse para la posterior batalla de Wagram.