Generaal John Moore was met een Brits leger Spanje binnengevallen om de Spanjaarden bij te staan in hun strijd voor onafhankelijk. Echter, Napoleon was Spanje met een nieuw leger binnen gemarcheerd om de kansen voor de Fransen te keren. Nadat Madrid in de handen van de Fransen was gevallen werd de situatie van de Britten onhoudbaar. John Moore had zijn kwartieren opgeslagen in Mayorga en zag zich gedwongen om zich terug te trekken naar de kust. Hij was zich ook op de hoogte van de nabijheid van het leger van generaal Soult. Voordat Moore het strijdtoneel zou verlaten wilde hij nog een overwinning op Soult behalen. Moore stuurde Henry Paget met een gedeelte van zijn cavalerie vooruit om de weg vrij te maken.
Op een koude nacht passeerde het regiment van Paget de plaats Sahagún. De Fransen die nabij gelegerd waren kwamen op de hoogte van de komst van de Britten en in de ochtend van 21 december vormden de Fransen twee linies om de aanval van de Britten op te vangen. Tijdens het gevecht dat hier opvolgde waren de Britten instaat om de Fransen terug te dringen en uiteindelijk op de vlucht te doen slaan. Hierbij wisten de Britten vele gevangenen onder de Fransen te maken.
John Moore verkreeg het nieuws dat de vijand zich naderbij bevond, dan hij daadwerkelijk had verwacht. Hierdoor besloot hij om de aanval op Soult te staken. De Britten trokken zich vervolgens terug in een lange mars naar Galicië.