Dopo la sconfitta a Magenta, l'esercito austriaco si ritirava verso est, inseguito dall'esercito franco-piemontese. Lo stesso Francesco Giuseppe venne personalmente in Italia per prendere il comando delle truppe, rimuovendo dall'incarico il generale Gyulai, considerato colpevole della sconfitta precedente.Il mattino del 23 giugno le armate austriache fecero dietro front per contrattaccare lungo il fiume Chiese. Allo stesso tempo Napoleone III ordinò l'avanzata delle sue truppe e così gli eserciti avversari vennero a scontrarsi in luoghi del tutto imprevisti. Mentre a nord, sui colli di San Martino, le truppe piemontesi combattevano con l'ala destra dell'esercito austriaco, l'esercito francese si scontrò a sud, più precisamente a Solferino (a metà strada fra Mantova e Brescia), con il grosso delle truppe nemiche: entrambe le parti non si aspettavano assolutamente di trovarsi di fronte l'intero esercito nemico.
La battaglia si sviluppò caoticamente lungo un fronte di 15 km, finché, nel primo pomeriggio, le truppe francesi sfondarono il centro di quelle austriache. I combattimenti proseguirono ancora nel pomeriggio inoltrato attorno a Solferino, Cavriana e Guidizzolo, sino a quando un violento temporale interruppe la lotta (iniziata alle prime luci del giorno), nei pressi di Cavriana, ma non sui colli di San Martino, ove la battaglia cessò soltanto a sera. Lo scontro fu così feroce e cruento che l'esercito vincitore non ebbe la forza di inseguire quello sconfitto in fuga, il quale riparò oltre il Mincio.
La battaglia di Solferino e San Martino fu la più lunga (dalle 12 alle 14 ore di combattimento) e la più sanguinosa combattuta per l'indipendenza e l'unità d'Italia e superò per quoziente di perdite la pur cruenta battaglia di Waterloo.Gli austriaci persero 14000 uomini e 8000 vennero presi prigionieri, i franco-sardi 15000 e 2000 prigionieri; questa carneficina sembra aver indotto Napoleone III a firmare l'armistizio a Villafranca, con questo atto concludendo di fatto la seconda guerra di indipendenza.Testimone d'eccezione della battaglia fu Henry Dunant ideatore, promulgatore e primo segretario della Croce Rossa.