French: 6,500 under de Lorencz;
Mexicans: 3,791 under Zaragoza.
Casualties: 476 French to 227 Mexican.
That's the problem. It was at the same timle accurate and not.... It's accurate at the point of attack. It's not on the global scale (in and around the city)
Now read the account of battle. It was not a "battle" but an attempt to storm trenches and two forts at the top of a hill while running in mud. The general was a complete moron.
I have a detailed book on the battle and there are some interesting points:
- Zaragoaz had to send 2000 men to protect himself agains mexicam infiltration
- they had 4 batteries of artilley (2 mountain ones and 2 line ones) plus 1200 in forts and 3500 in four columns in trenches
- the French general was thinking that mexicans in the city were pro-conservatives and that he just needed to do a strong show of forces. He was not expecting a battle but a token skirmish. He decided to move his force in front of the forts and to storm them without preparation not significant artillery support. Mexican allies told him that using the convent to attack was a better idea.
- Zaragoza reinforced his troops using trenches
- Zouaves attacked as their training asked them to do: in heavy skirmish lines (not as regular infantry) and what happened? Well, you send a skirmish line (3 times) against an entrenched enemy in forts+trenches at the top of a hill. Zouves reached HtH, exhausted and fall back. Something like Cold Harbor or Fort Wagner (https://en.wikipedia.org/wiki/First_Battle_of_Fort_Wagner). Same thing. It was stupid...
Low level French leadership was good. High level was incredibly bad. It's also the reason why they lost the was with Prussia: infantry was excellent at the tactical level but above the regimental level and especially at high level morons were commanding. For example Bazaine was sentenced to death after the war for (among other things) dereliction of duty.