4 июня 1859 г. состоялась одна из самых крупных битв этой войны — битва при Мадженте. К июню французы, как и австрийцы, успели подтянуть к полям Италии свои основные силы. Теперь битвы австро-итало-французской войны переросли из мелких стычек в полномасштабные баталии. Австрийский главнокомандующий Дьюлаи располагал 113 000 солдат, но в бой ввел только 58 000 при 152 орудиях (главный австрийский корпус). Главный французский корпус насчитывал 59 100 солдат при 91 орудии. Командовал им Мак-Магон. Мак-Магон переправился через р. Тичино, атаковал австрийские позиции и после ожесточенного боя изгнал австрийцев из Мадженты, нанеся им решительное поражение. В бою австрийцы потеряли 1368 убитых, 4358 раненых и 3987 без вести пропавших или пленных солдат. Потери французов составили 675 убитых, 3229 раненых и 546 без вести пропавших или взятых в плен солдат.
24 июня состоялось последнее и самое крупное сражение этой войны. Битва при Сольферино обернулась кошмаром для австрийской армии. В битве участвовало почти четверть миллиона солдат. Австрийцы, под предводительством своего императора Франца Иосифа, потерпели сокрушительное поражение, потеряв 18 % всего своего войска. Австрийские войска, отступая после битвы, покинули Ломбардию.
Удача как будто сопутствовала Наполеону. Однако размах национально-освободительного движения в Италии, грозившего перейти в революцию, испугал его. Кроме того, внутреннее положение Франции также внушало императору серьезное беспокойство. Донесения, которые он получал на фронте из Франции, гласили, что в стране обстановка тревожная: рабочее и республиканское движение разрастается, и, кроме того, большое опасение вызывает деятельность католического духовенства, которое настраивает население против императора за то, что тот действует в стане врагов Папы. Тогда Наполеон решил, что единственное средство спасти положение — заключить выгодный мир. У него были и другие причины прекратить войну. Во-первых, император Франции боялся, что за Австрию вступятся немецкие государства. Во-вторых, почти все тяготы войны несли на себе французские войска. В-третьих, для Франции объединение Сардинского королевства с другими итальянскими государствами означало вывод французских войск из Рима, что шло вразрез с интересами Франции.
За спиной Сардинии Наполеон III предложил побежденной Австрии мир. 11 июля 1859 г. в Вилла-Франко между Францией и Австрией было подписано соглашение, в силу которого Австрия отказалась от Ломбардии в пользу Франции, позже передавшей эту территорию Сардинии (Пьемонту), но сохранила за собой Венецианскую область. В дальнейшем, по условию договора, эта область должна была войти в Итальянскую конфедерацию, которую предполагалось поставить под почетное главенство Папы. Проект создания Итальянской конфедерации под главенством Папы противоречил лозунгу итальянских патриотов об объединении Италии вокруг Пьемонта.
Реакция на предательское Вилла-Франкское соглашение была ошеломляющей. Во Франции итальянская политика императора восстановила против него все слои общества: народные массы не могли простить Наполеону его предательства национально-освободительного движения итальянского народа, мелкобуржуазные демократы и буржуазные республиканцы тоже критиковали императора. Часть торгово-промышленной буржуазии, связанная с Сардинией торговыми отношениями, была недовольна тем, что теперь эти связи прерваны. Так как объединение Италии к тому времени было уже почти свершившимся фактом, Наполеон III, надеясь спасти остатки своего престижа в Европе и поправить свое пошатнувшееся положение во Франции, решил сделать еще один дипломатический «поворот». Он написал Папе Пию IX почтительное письмо, в котором предлагал признать присоединение итальянских государств к Пьемонту. Это было воспринято как новый вызов католической церкви. Папа ответил на него публичным преданием Наполеона III анафеме. Тогда император решил вновь начать переговоры с Кавуром. Он заявил, что не будет препятствовать делу объединения Италии, если Кавур согласится на формальное закрепление за Францией Ниццы и Савойи. Трудное положение, в котором оказались итальянские войска после того, как французы вышли из войны, заставило Кавура согласиться на предложенный французским императором договор. 23 января 1860 г. в Турине был подписан франко-сардинский договор об уступке Франции Ниццы и Савойи. В результате Франция получила приращение национальной территории вместе с 670 тыс. жителей, объявленных французами. После победоносной Крымской войны это был второй крупный успех Наполеона III, укрепивший его позиции внутри страны и поднявший международный престиж Франции.