Cruzando a fronteira perto de Charleroi antes do amanhecer de 15 de junho, os franceses invadiram rapidamente os postos avançados da Coalizão, garantindo a "posição central" de Napoleão entre os exércitos de Wellington e Blücher. Ele esperava que isso os impedisse de se combinarem e que ele fosse capaz de destruir primeiro o exército prussiano e depois o de Wellington.
As ordens de Ney eram assegurar o cruzamento de Quatre Bras, para que mais tarde pudesse virar para leste e reforçar Napoleão, se necessário. Ney encontrou a encruzilhada de Quatre Bras levemente controlada pelo Príncipe de Orange, que repeliu os ataques iniciais de Ney, mas foi gradualmente rechaçado por um número esmagador de tropas francesas.
Enquanto isso, em 16 de junho, Napoleão atacou e derrotou os prussianos de Blücher na Batalha de Ligny usando parte da reserva e a ala direita de seu exército. O centro prussiano cedeu sob os pesados ataques franceses, mas os flancos mantiveram-se firmes. A retirada prussiana de Ligny foi ininterrupta e aparentemente despercebida pelos franceses.
Com a retirada prussiana de Ligny, a posição de Wellington em Quatre Bras tornou-se insustentável. No dia seguinte, ele retirou-se para o norte, para uma posição defensiva que havia reconhecido no ano anterior - a crista baixa de Mont-Saint-Jean, ao sul da vila de Waterloo e da Floresta Sonian.
Antes de deixar Ligny, Napoleão ordenou a Grouchy, que comandava a ala direita, que acompanhasse a retirada dos prussianos com 33.000 homens. Um início tardio, a incerteza sobre a direção que os prussianos haviam tomado e a imprecisão das ordens que lhe foram dadas fizeram com que Grouchy fosse tarde demais para impedir que o exército prussiano chegasse a Wavre, de onde poderia marchar para apoiar Wellington.
Mapa dos movimentos das forças e dos principais combates durante a Campanha de Waterloo, 15 a 18 de junho de 1815. © Ipankonin