Las antiguas crónicas sobrevaloran el número de efectivos de ambos bandos que participaron en la batalla, llegando a contar 100.000 soldados en el lado visigodo. Es muy probable que el líder musulmán Tariq desembarcase en Tarifa unos 7.000 soldados de a pie bereberes, tomando Carteia y posteriormente Algeciras, donde rechazó el ataque de Bancho o Sancho, sobrino de Rodrigo que había salido a su encuentro. Mientras todo esto acontecía, el rey visigodo se encontraba en el norte de la Península Ibérica combatiendo a los vascones en Pamplona.
La noticia le tarda en llegar dos o tres semanas. La crisis que padecía el reino visigodo en aquellos fatídicos momentos, con continuas confabulaciones y guerras fratricidas entre la nobleza para hacerse con el trono, limitaron considerablemente el margen de maniobra de Rodrigo a la hora de reclutar un ejército con que hacer frente a la invasión, viéndose obligado a aceptar la interesada ayuda de los witizanos, cuya traición desconocía. Tal como fuere pudo organizar precipitadamente en Córdoba un ejército de 40.000 hombres y partir al encuentro de Tariq.
De acuerdo a las crónicas, el choque tuvo lugar en el río Guadalete. Durante dos días ambos bandos se tantean en sangrientas escaramuzas. Una vez empezada la batalla, los hijos de Witiza, que comandaban los flancos, se separaron del ejército visigodo, dejando a Rodrigo en inferioridad numérica y técnica contra los musulmanes.
Al parecer, los bereberes, con su caballería ligera y sus ataques rápidos y letales, diezmaron a las rodeadas fuerzas leales al monarca godo tras un duro combate. El caballo de Rodrigo fue encotrado asaetado a orillas del río, con lo que se especuló con que el monarca pudo haber escapado, aunque también que su cadáver fue arrastrado por la corriente. Nunca se volvió a saber de él. La destrucción de la fuerza visigoda ante el engaño de los witizianos, el desconocimiento total del modo de combatir árabe y la probable muerte de Rodrigo dejó la puerta abierta a Tariq para apoderarse de Toledo en el año 714. Desprotegida al llevarse consigo Rodrigo su comitatus y a los spatarios de su guardia real, la ciudad no opuso resistencia.
El fulminante avance del ejército musulmán vino motivado por el posterior desconcierto en las filas godas tras la aplastante derrota del ejército real y la muerte del monarca, aumentado por la rápida caída de la capital que evitó la elección de un nuevo rey y el establecimiento de una línea de resistencia. Lejos podían suponer los conjurados que su petición de ayuda para recuperar el trono a cambio de tributos les iba a costar tan caro y cuáles eran las verdaderas intenciones de conquista de los árabes.
En el devenir que tomaron los hechos hubo factores importantes que lo propiciaron, como los numerosos descontentos que se unieron a las fuerzas invasoras, encontrando la colaboración de la población hispanorromana, que no tenía derecho a participar en el gobierno (salvo en el de la Iglesia) y que veía en el nuevo invasor un posible aliado contra los germanos. También se habla de la ayuda de la población judía, la cual venía siendo perseguida por la monarquía católica visigoda, y de gran parte del resto de la población que no opuso resistencia, exasperada por las continuas hambrunas y epidemias y deseosa de una estabilidad política.
Con posterioridad Musa desembarcaría él mismo en Algeciras al mando de 18.000 árabes que reforzarían al contingente de Tariq, prosiguiendo la ocupación de las tierras hispanas hasta el valle del Ebro, y algunas regiones de Gallaecia y su intento de invadir el resto de Europa a través del reino franco merovingio.
Esta batalla es considerada como desencadenante de la Invasión musulmana de la Península Ibérica, que supondría la desaparición del reino visigodo de Hispania.