La pintura recrea el violento levantamiento popular del 2 de mayo de 1808 en la capital española contra las fuerzas de ocupación de Napoleón Bonaparte. Tras percatarse de que los soldados franceses pretendían llevarse al infante Francisco de Paula a Francia, el pueblo llano de Madrid, armado únicamente con navajas, puñales, tijeras y palos, salió en masa a las calles para enfrentarse al ejército más poderoso del mundo. Este sangriento choque fue el detonante inmediato de la Guerra de la Independencia Española.

La acción se sitúa en los alrededores de la Puerta del Sol. El pueblo madrileño concentra toda su rabia contra los mamelucos (soldados mercenarios egipcios al servicio de Napoleón) y los lanceros imperiales. Goya eligió este enfoque porque ver a tropas de origen musulmán cabalgando de nuevo por Madrid despertó un profundo rechazo atávico en la población civil.

Goya pintó este lienzo (junto con el de los fusilamientos) en 1814, seis años después de los hechos, justo cuando la guerra había terminado y el rey Fernando VII regresaba de su exilio para reclamar el trono absoluto. Goya propuso al gobierno de la regencia pintar estos cuadros para “perpetuar por medio del pincel las más notables y heroicas acciones o escenas de nuestra gloriosa insurrección”. Aunque inicialmente se pensó que era un encargo real, investigaciones modernas sugieren que fue una iniciativa propia de Goya para limpiar su reputación política tras haber mantenido cierta ambigüedad bajo el reinado del hermano de Napoleón, José Bonaparte.

La promulgación de la Constitución de 1812 (1912)