Toen de Fransen op 15 juni vóór zonsopgang de grens bij Charleroi overstaken, veroverden ze snel buitenposten van de Coalitie, waarmee ze de "centrale positie" van Napoleon tussen de legers van Wellington en Blücher veiligstelden. Hij hoopte dat dit hen ervan zou weerhouden zich te verenigen, en dat hij in staat zou zijn eerst het Pruisische leger en daarna dat van Wellington te vernietigen.
Ney's orders waren om het kruispunt van Quatre Bras veilig te stellen, zodat hij later naar het oosten kon draaien en Napoleon indien nodig kon versterken. Ney ontdekte dat het kruispunt van Quatre Bras lichtelijk bezet was door de Prins van Oranje, die de eerste aanvallen van Ney afsloeg, maar geleidelijk werd teruggedreven door een overweldigend aantal Franse troepen.
Ondertussen viel Napoleon op 16 juni de Pruisen van Blücher aan en versloeg deze in de Slag bij Ligny met behulp van een deel van de reserve en de rechtervleugel van zijn leger. Het Pruisische centrum bezweek onder zware Franse aanvallen, maar de flanken hielden stand. De Pruisische terugtocht uit Ligny verliep ononderbroken en schijnbaar onopgemerkt door de Fransen.
Met de Pruisische terugtrekking uit Ligny was Wellington's positie bij Quatre Bras onhoudbaar. De volgende dag trok hij zich noordwaarts terug, naar een defensieve positie die hij het jaar daarvoor had verkend: de lage bergkam van Mont-Saint-Jean, ten zuiden van het dorp Waterloo en het Zoniënwoud.
Voordat hij Ligny verliet, had Napoleon Grouchy, die het bevel voerde over de rechtervleugel, de opdracht gegeven de terugtrekkende Pruisen met 33.000 man te volgen. Een late start, onzekerheid over de richting die de Pruisen waren ingeslagen en de vaagheid van de bevelen die aan hem werden gegeven, zorgden ervoor dat Grouchy te laat was om te voorkomen dat het Pruisische leger Waver zou bereiken, vanwaar het kon marcheren om Wellington te steunen.
Kaart van troepenbewegingen en grote gevechten tijdens de Waterloo-campagne, 15-18 juni 1815. © Ipankonin