Тем временем Конгресс США единогласно принял резолюцию о непризнании учреждения монархии в Мексике. 12 февраля США потребовали, чтобы французы вывели свои отряды из Мексики. Также США приступили к подготовке морской блокады французских кораблей, чтобы французы не имели возможности поставлять в Мексику новых солдат, и выдвинули американские войска на позиции вдоль Рио-Гранде.
В это время в Европе стало очевидно, что война между Пруссией и Францией становится неизбежной. 22 января 1866 г. Наполеон III, опасаясь внезапного нападения прусских войск, объявил о постепенном выводе французских войск из Мексики. Их отвод начался 31 мая и закончился в ноябре 1866 года. А в июле 1866 г. во время Семинедельной войны прусские войска разбили австрийскую императорскую армию в сражении при Каниггратце (ныне — Садова, Чешская республика). После этого на улицах Парижа стали говорить, что Францию ждет участь Австрии. Теперь Наполеону III солдаты были нужны на другом берегу Атлантики.
Но не только война с Пруссией стала причиной решения императора вывести из Мексики свои войска. Французский монарх понимал, что мексиканская война обходится для его страны неоправданно дорого и с каждым годом расходы на нее только растут. Так, к концу 1866 г. заокеанская авантюра обходилась Франции в 60 млн ежегодно. Весной Франц Иосиф завербовал 4 тыс. солдат для отправки в Мексику, но 6 мая США направили протест Австрии по поводу участия в конфликте австрийских добровольцев. Одной угрожающей телеграммы от госсекретаря США Уильяма Сьюарда было достаточно, чтобы австрийский император отказался от этого замысла. Один за другим сторонники Максимилиана, дома и за границей, покидали его.
Незадачливый император попытался наладить отношения с президентом Хуаресом, предложив ему заключить мир. Но тот отклонил это предложение. Тогда Максимилиан отослал Шарлотту в Европу за помощью. Но Наполеон III не пошел навстречу его просьбам, а французские солдаты, очень недовольные авантюрой своего монарха, отправляться в Мексику не желали. Шарлотта пригрозила Наполеону отречением мужа от мексиканского престола, на что тот спокойно ответил:
«Серьезно? Я также думаю, что это будет лучшим выходом из сложившейся ситуации». Тогда Шарлотта с последней надеждой обратилась в Ватикан, но все было тщетно.
Тем временем объединенные республиканские силы одержали серию значительных побед — 25 марта 1866 г. они оккупировали Чиуауа, 8 июля взяли Гвадалахару и позже в июле захватили Матаморос, Тампико и Акапулько. Теперь каждый порт был в руках республиканцев, и в них же находилась большая часть дохода таможни. 14 июня 1866 г. два батальона Императорских мексиканских войск перешли на сторону Бенито Хуареса в сражении около Матамороса на границе Техаса, оставив 300 австрийцев на растерзание. Наполеон III призвал Максимилиана покинуть Мексику. Теперь сторонники Хуареса наступали по всем фронтам. Французы оставили 26 июля Монтеррей, 5 августа — Сальтильо и в сентябре — весь штат Сонору. 18 сентября члены французского кабинета Максимилиана ушли в отставку.
Стремительное наступление мексиканской армии продолжалось. В октябре республиканцы разгромили имперские войска при Миауатлане в Оахаке, в ноябре оккупировали всю Оахаку, так же, как и части штатов Сакатекас, Сан-Луис-Потоси и Гуанахуато. 6 декабря австрийские и бельгийские добровольцы расформировались и присоединились к мексиканской армии, однако 3500 (по другим оценкам, 4648) человек не последовали их примеру и попытались покинуть страну. 13 ноября Рамон Корона и французы пришли к согласию по поводу условий освобождения Масатлана. В полдень интервенты погрузились на три корабля «Рин», «Мари» и «Талисман» и уплыли восвояси.
В январе 1867 г. республиканцы оккупировали остаток штатов Сакатекас, Сан-Луис-Потоси и Гуанахуато. 5 февраля французы покинули Мехико. Когда последний французский солдат ушел из Мексики, Максимилиан с горечью произнес: «Наконец-то я свободен!» Видимо, он устал от надоедливой и бесполезной опеки французского монарха, втравившего его в безвыходное положение. Спустя пять дней вместе со своей оставшейся армией он перебрался в город Куаретаро, в 300 милях к северо-западу от Мехико, тем самым совершив свою последнюю ошибку. Хотя Куаретаро все еще находился на проимперской территории, он был расположен слишком далеко от порта Вера-Крус, единственного, через который император мог бы бежать. К тому же город лежал в долине, которую окружали холмы. Таким образом, путь для отступления был Максимилиану отрезан.
Вскоре три раздельных колонны республиканской армии соединились у Куаретаро. К марту его окружили 30 тыс. хуаристов; акведук, снабжавший его население пресной водой, был перерезан. Город оказался на осадном положении, его защитникам грозила мучительная смерть от жажды. Императорский соратник, генерал Маркес, отправился с кавалерией в Мехико, чтобы попытаться найти там подкрепление, но на обратном пути на подходах к Пуэбле он был разбит.