Bitwa Do decydującego starcia doszło w lipcu 711 r. Dokładna lokalizacja bitwy pozostaje przedmiotem debaty historyków. Źródła arabskie określają miejsce starcia jako Wadi Lakka. Tradycyjna historiografia, wspierana autorytetem Claudia Sáncheza-Albornoza, identyfikowała je z rzeką Guadalete w pobliżu Arcos de la Frontera, jednak od XIX wieku wielu badaczy kwestionuje tę lokalizację. Najstarsze źródło chrześcijańskie, Kronika mozarabska z 754 r., umieszcza bitwę in Transductinis Promonturiis (w górach Transduktańskich), co współcześni badacze – m.in. Roger Collins i José Soto Chica – wiążą z okolicami laguny La Janda i rzeki Barbate, między Medina-Sidonia a Tarifą.

Według przekazów kronikowych bitwa trwała kilka dni. Kluczową rolę w klęsce Wizygotów odegrała zdrada synów Wityzy, którzy dowodzili skrzydłami armii wizygockiej i w trakcie walki opuścili pole bitwy, pozostawiając króla Roderyka w beznadziejnej sytuacji. Berberska kawaleria zdezorganizowała i rozbiła otoczone siły wierne królowi. Sam Roderyk poległ lub zaginął bez wieści – odnaleziono jedynie jego konia, przeszytego strzałami, nad brzegiem rzeki.