En avril 1169, Gérald marche vers Badajoz avec son armée et attaque la ville. Elle est entourée de murs solides et sa population a déserté en raison de la discorde civile. La garnison de Badajoz est dirigée par Umar ibn Temecelite. Umar voit qu'il ne peut pas défendre la place, alors il se retire dans la Kasbah de la ville. Il envoie ensuite des messages à Séville pour obtenir de l'aide. Alphonse Ier suit Gérald et entre dans la ville ; il commence à assiéger les Almohades dans leur citadelle. Le roi portugais fixe une date limite aux musulmans pour livrer le château, mais Umar est convaincu qu'il tiendrait plus longtemps [3],[4].
Cependant, l'aide vient des Léonais au lieu des Maures, et Ferdinand II marche vers Badajoz pour soulager la ville car il est allié aux Almohades. Alors que le roi léonais se rapproche de la ville, il envoie secrètement un messager à la garnison almohade, l'informant que de l'aide est arrivée et lui ordonnant de le guider vers un endroit où les troupes léonaises pourraient entrer. Umar envoie un groupe de ses hommes dans une partie des murs que les Portugais ignorent; les Almohades escaladent les murs de cette section et commencent secrètement à ouvrir l'une des portes de la ville, permettant aux Léonais d'entrer [5],[4].
Voyant cette situation dangereuse, Alphonse Ier abandonne la citadelle et marche à la rencontre des Léonais. Les Almohades font une sortie contre les Portugais et les attaquent par derrière. Les combats sont féroces et les deux camps se battent courageusement jusqu'à ce que les forces almohades-léonaises déciment les Portugais. Surpris par ce tumulte, Alphonse Ier commence à s'enfuir mais alors qu'il fuit par les portes, sa jambe est écrasée contre l'un des boulons de fer. Il se casse la jambe et tombe de son cheval. Ses hommes l'emportent mais les troupes léonaises le poursuivent et le capturent [6],[7].
Ferdinand II traite le roi portugais prisonnier avec beaucoup de respect et ordonne à ses médecins de le soigner. Le roi léonais libère ensuite Alphonse Ier en échange de la restitution des territoires qu'il a conquis en Galice. Pour Gérald sans Peur, soit il s'enfuit du champ de bataille, soit il est capturé aux côtés de son roi et relâché. La déroute des forces portugaises a lieu le 21 mai; les Almohades capturent les nombreuses armes, bagages et fournitures laissés par les Portugais [8],[9].