15 июня Наполеон вторгся на бельгийскую территорию у Шарлеруа, стремясь разъединить армии Веллингтона и Блюхера. На следующий день Ней с двумя корпусами атаковал англичан у Катр-Бра и отбросил их на Брюссельское шоссе, а Наполеон с 68-тысячной армией нанес тяжелое поражение пруссакам у Линьи. Из 84 тысяч солдат Блюхер потерял 25 тысяч и сам едва не погиб, будучи сбит с лошади. Отрядив 33-тысячный корпус Груши преследовать Блюхера, Наполеон, присоединив к себе войско Нея, пошел на Веллингтона. Британский фельдмаршал занял сильную позицию на холме Мон-Сен-Жан у деревни Ватерлоо. Он располагал 70 тысячами солдат и 170 орудиями. У Наполеона, развернувшего свою армию на соседнем плато Бель-Альянс, было 74 тысячи солдат и 250 орудий. Из-за дождя, шедшего всю ночь с 17 на 18 июня, почва настолько размокла, что французы смогли начать атаку только за полчаса до полудня, когда земля стала пригодна для движения артиллерии и конницы.
Вспомогательный удар Наполеон наносил своим левым флангом на поместье Угумон. Однако англичане оборонялись очень упорно и заставили неприятеля потратить для овладения этой позицией гораздо больше сил, чем он первоначально планировал. На правом фланге, где Наполеон планировал главный удар, французская 80-орудийная батарея открыла интенсивный огонь по английским укреплениям. В этот момент у Сен-Ламбертского леса в тылу левого фланга французов появились колонны войск. Наполеон не знал точно, пришел ли это Блюхер или Груши, но все равно в 2 часа пополудни скомандовал Нею наступление на Мон-Сен-Жан, где стояло левое крыло Веллингтона. Четыре дивизии французского генерала д'Эрлона взошли на холм, но там были изрублены шотландской кавалерией.
Тогда Наполеон перенес основные усилия в центр и на левый фланг. В это время уже было известно, что к месту сражения выдвигается армия Блюхера, навстречу которой к Сен-Ламбертскому лесу пришлось послать 10 батальонов Молодой гвардии. Император надеялся, что вслед за Блюхером вскоре придет корпус Груши, что и решит исход сражения.
В половине 4-го пополудни д'Эрлон занял ферму Ла-Хе-Сент, оборонявшуюся ганноверской пехотой. Оттуда французская батарея смогла поливать картечью центр Веллингтона. Ней во главе 40 эскадронов кирасир, улан и конных егерей ворвался на Мон-Сен-Жан. Ему удалось захватить неприятельскую артиллерию, но не удалось прорвать каре английской пехоты, расстреливавшей всадников почти в упор.
К 5 часам вечера Веллингтон был сбит почти со всех своих позиций и не имел больше резервов. У Наполеона же оставались нетронутыми восемь батальонов Старой гвардии. Его тревожило только то, что пруссаки теснили Молодую гвардию и уже правый фланг французской армии.
В 5 часов Наполеон бросил два батальона гвардии против пруссаков у деревни Плансенуа, а с оставшимися гвардейскими батальонами двинулся по Брюссельской дороге на центр англичан. Несмотря на опустошительный огонь вражеской артиллерии, два батальона дошли до вершины холма Мон-Сен-Жан, но здесь их расстреляли в упор каре английской гвардии. Французы отхлынули от холма. В этот момент кавалерия Блюхера опрокинула правый фланг французов. Гвардия Наполеона в беспорядке отступала от Мон-Сен-Жана, а корпус д'Эрлона бежал под натиском прусских гусаров и драгун.
Веллингтон скомандовал общее наступление. Наполеон попытался прикрыть отступление тремя оставшимися батальонами Старой гвардии, построив их в каре и двинув навстречу наседающему неприятелю. Ней тщетно старался придать бегущим войскам хоть какой-то порядок. Одно из трех каре было окружено противником. Англичане предложили гвардейцам сдаться. «Гвардия погибает, но не сдается, дерьмо!» — ответил командующий гвардией генерал П. Камбронн. Ему посчастливилось остаться в живых, но почти весь его батальон погиб под английскими пулями и ядрами. Основная же часть французской армии обратилась в беспорядочное бегство.
В сражении при Ватерлоо французы потеряли 25 тысяч убитых и раненых, а армии Веллингтона и Блюхера — 22 тысячи. Наполеон лишился всей артиллерии, и 32 тысячи его солдат оказались в плену. Оставшиеся в живых просто разбежались.
Союзные войска вторглись во Францию и, почти не встречая сопротивления, шли к Парижу. Единственным боеспособным соединением французской армии остался корпус Груши. В день Ватерлоо он разбил 20-тысячный арьергард армии Блюхера у Вавра, что было, конечно же, слабым утешением за разгром главных сил Наполеона. Груши сумел вернуться во Францию, избежав столкновений с союзными войсками. У Груши осталось 25 тысяч солдат и 100 орудий. Они поступили под командование маршала Даву, который добавил к солдатам Груши несколько тысяч срочно набранных ополченцев. Для обороны Парижа этого было явно недостаточно.