À l'issue des batailles de Fuentes de Oñoro (du 3 au ) et d'Albuera (), l'armée anglo-portugaise met le siège devant Badajoz avant qu'une contre-offensive française ne l'oblige à rétrograder sur Elvas. Le maréchal Auguste Marmont, commandant en chef l'armée française du Portugal, positionne ses troupes autour de Navalmoral d'où il peut soutenir à la fois Badajoz et Ciudad Rodrigo. Dix semaines s'écoulent sans qu'un mouvement offensif ne soit tenté de part et d'autre. Marmont en profite pour réorganiser et compléter ses forces, fortement diminuées après l'échec de l'invasion du Portugal et la bataille de Fuentes de Oñoro.