La guerra di riforma dal 1858 al 1860 aveva causato grandi sofferenze in tutta l’economia del Messico e gli acerrimi nemici e i conservatori sconfitti rimasti si opponevano ancora al governo e speravano in una qualche speranza per la loro causa. Quando entrò in carica come presidente eletto nel 1861, Benito Juárez fu costretto a sospendere il pagamento degli interessi sui debiti esteri per un periodo di due anni. Alla fine di ottobre del 1861, i diplomatici di Spagna, Francia e Regno Unito si incontrarono a Londra per formare l’Alleanza Tripartita, con lo scopo principale di lanciare un’invasione alleata del Messico e assicurarsi che il governo messicano fosse disposto a negoziare i termini per ripagare i suoi debiti. Tuttavia i francesi stavano segretamente usando l’alleanza come una facciata per invadere il paese fratturato. Nel dicembre 1861 le truppe spagnole sbarcarono a Veracruz; quelle inglesi e francesi seguirono all’inizio di gennaio. Le forze alleate occuparono Veracruz e avanzarono verso Orizaba. Tuttavia, l’alleanza tripartita andò in pezzi all’inizio di aprile del 1862, quando divenne chiaro che i francesi volevano imporre dure richieste al governo di Juarez e provocare una guerra. Gli inglesi e gli spagnoli si ritirarono dopo aver negoziato pacificamente accordi con Juarez, lasciando i francesi a marciare da soli su Città del Messico. L’obiettivo di Napoleone III era quello di instaurare un regime messicano fantoccio nei suoi primi tentativi di riconquistare la gloria del primo Impero.
La forza di spedizione francese all’epoca era guidata dal generale Charles de Lorencez, un comandante esperto che aveva servito in Algeria e nella guerra di Crimea venendo promosso a maggior generale. La battaglia avvenne per un malinteso sull’accordo francese di ritirarsi sulla costa. Quando le forze messicane videro i soldati francesi in marcia, lo presero come un segno che le ostilità erano ricominciate e si sentirono minacciati. Per aggiungere alle crescenti preoccupazioni, le forze messicane furono informate che i negoziati politici per il ritiro erano falliti. Una veemente denuncia fu presentata dai messicani a Lorencez che prese la sfrontatezza come un piano per attaccare le sue forze. Lorencez decise di ritardare il ritiro verso la costa occupando invece Orizaba, il che impedì ai messicani di poter difendere i passi tra Orizaba e il porto di sbarco di Veracruz. Il comandante generale messicano, Ignacio Zaragoza, veterano della guerra di riforma, ripiegò sul passo di Acultzingo, dove lui e il suo esercito furono sconfitti in una scaramuccia con le forze di Lorencez il 28 aprile. Zaragoza si ritirò a Puebla, che era stata tenuta dal governo messicano fin dalla guerra di riforma. La città era pesantemente fortificata con 5 forti che la circondavano. A nord si trovavano i 2 possenti forti di pietra Loreto e Guadalupe sulle cime opposte delle colline. Saragozza fece scavare una trincea per unire i forti attraverso la sella. Lorencez si aspettava di incontrare le forze dei conservatori messicani che avevano promesso di aiutare la sua campagna, ma non c’era traccia di loro. A sua insaputa, Zaragoza aveva già inviato una forza per impedire la loro interruzione nella battaglia imminente. Fu anche indotto a credere che la gente di Puebla fosse amichevole verso i francesi, e che la guarnigione messicana che teneva in riga la gente sarebbe stata invasa dalla popolazione una volta che avesse fatto una dimostrazione di forza. Questo si sarebbe rivelato un grave errore di calcolo da parte di Lorencez.
L’esercito francese era composto principalmente da Zuavos, fanteria leggera altamente qualificata, inizialmente composta da tribali provenienti dall’Algeria continentale, ma col tempo avrebbe incluso più europei. Essi si erano dimostrati altamente qualificati e capaci durante la guerra di Crimea e avrebbero contribuito allo sforzo principale durante la battaglia. Le forze francesi erano generalmente meglio addestrate ed equipaggiate. Il loro comandante generale, Charles de Lorencez, era un generale esperto che aveva studiato all’accademia militare e aveva anche combattuto nella guerra di Crimea e servito in Algeria guadagnandosi il grado di maggiore generale.
L’esercito messicano era una banda di patrioti straccioni rispetto alle loro controparti, ma si poteva comunque contare su di loro per servire il loro paese. L’esercito aveva recentemente combattuto e vinto contro la fazione conservatrice durante la guerra di riforma ed era abile sia nella guerra convenzionale che nella guerriglia. Il loro comandante generale era Ignacio Zaragoza, un generale esperto senza alcuna formazione militare formale che aveva guidato i volontari a sostegno di Juarez e comprendeva l’importanza del terreno e del posizionamento.