メキシコシティ包囲戦
終わりが近いと感じて、マルケス将軍は首都から逃亡し、亡命した。6月20日にRamon Taberaが指導者となった。彼はすぐに降伏の交渉に入り、ディアスは受諾し、翌日には首都入城を果たした。治安維持と住民への食糧の支給といった対策ののちにディアスは帝国の将校、議員、帝国の要人らに24時間中に自発的な恭順の意を取るよう求めた。 The only ones who did so were General Tabera and a few others. ディアスは3つの刑務所を帝国の高級幹部の違う省庁の同じ職階ごとに収監できるように準備した。 いわれのない罰は禁止された。彼らの家族は自由に面会ができた。これら収監者にはVidaurri, Lacunza, O'Horan,と Manuel Ramirez Arellanoがいたが、彼らの多くがのちに逮捕された。 フアン・ホセ・バスが新たに 6月21日に発足のメキシコ共和国の首都メキシコ警察長官に任命された。
Finally President Juárez ceremonially visited the city on 21 July and issued a general amnesty. Army was reduced to 18,000 conscripts.
ディアスは祝祭を、首都がお祝い気分で気が散漫なために、膠着状態を破る機会と見た。 正午に、彼は兵士とともに少しずつ水路を伝いながら、San Cosmeとベレンに予想外の攻撃を敢行した。 先住民とフランス軍が驚愕の攻撃に対し武器を取った。 彼らは2門の大砲を保有し、水路の両サイドに標的を絞った。6人が唯一の退路を断たれる羽目になった。
自由主義派は3度にわたり主導権を握ろうとしたが、それらすべてが撃退され、彼らは退却した。襲撃の試みの終わりには、何百もの自由主義派の兵士が大地に死体をさらしていた。
18日にフランスとオーストリアの司令官があった時、オーストリア側はゲリラ兵に皇帝が身柄を拘束されていることとオーストリアは残る戦闘においては中立を宣言し、すでに共和行軍と交渉に入っていることをゲリラ兵に通知した。 フランスの司令官シュネは両国のかつての合意に言及した。それは双方の了解なしに降伏はしないというものである。翌日、すべてのヨーロッパの軍が武器を置き、包囲戦の終結を待った。 フランス軍は San Pedro y San Pabloで抵抗していた。そのころ他のヨーロッパ諸国は軍は国立宮殿を占拠していた。
元手が不足していたので、マルケス将軍はBarron, Forbes & Co.からの15万ドルに夢中になりw:Nacional Monte de Piedadからの6万ドル以上を押収した。 包囲されて以来物資は首都に届かず、その結果食料品店は空になり、課税の強制は事態を悪化させた。 3軒のパン屋のみが兵士と2万の住民のために営業していた。強盗は日常茶飯事となった。無数の人々が餓死した。あらゆる商取引が完全に中断した。
6月17日、第二軍団総司令官のラモン・タベラ将軍はディアスとの接触を取り始めたが、何も得るものないまま戻ってきた。 彼は6月19日にマルケスが国庫の財産を持って逃亡したときには最高司令官とみなされていた。 ある理論では、彼は外国人義勇兵によって生きたまま棺桶に入れられて、とある墓地までは運ばれて、夜中に旅立つ準備をしたという。 彼は果物商人に扮装しベラクルスに無事到着した。他の資料では彼が粉屋にふんした腹心オハランとともに赴いたとある。オッターボーアメリカ合衆国総領事は兵士の死刑を禁止することを引き換えにメキシコ市側は降伏するという休戦協定を提案しようとした。 ディアスは総領事の提案を聞くのを拒否し、彼に戻るためのわずかな時間を与えた。彼がカルロス4世騎馬像のそばを通過したときに砲撃が再開された。 マルケスの不在を確認した後、白旗が首都の建物に掲げられ、降伏のためのシグナルが攻囲軍に発信された。 公式のメッセージはタベラに代わりミゲル・ペーニャ、ディアス・デ・ラ・ヴェガとカルロス・パラフォクスによってディアスの伝えられ、了承された。
2度目の攻撃は6月9日の朝2時に開始された、市への道を確保するためにSanta Fé fortを占領する計画の準備ののちにである。 マルケスは、皇帝は軍の残りとともに首都に到来すると信じていた。午前4時にケーヴェンヒューラーの「赤い軽騎兵」はSan Antonio Abadのフランスの対ゲリラ部隊と合流した。 5時には憲兵連隊と、キロガ旅団が一緒になり、共和国軍を攻撃した。フランス軍は予備として残された。6時にはタベラ将軍はフェイント攻撃をPiedad riverに敢行した。作戦は敵の包囲ラインを刺すことに成功したが、全軍ともに、都市に帰還した。