Formado en las categorías inferiores del Cádiz Club de Fútbol, debutó en 2012 con el primer equipo siendo uno de los jugadores más prometedores de la cantera cadista.
En 2015 el Cádiz C .F. lo cedió al Granada C. F. «B» para que cogiera experiencia en la Segunda División B.
La temporada 2015-16 el Sevilla F. C. se fijó en él y lo fichó para la cantera sevillista llegando a debutar con el primer equipo esa misma temporada. Un año después de su fichaje consiguió el ascenso con el Sevilla Atlético a Segunda División.
El 17 de agosto de 2016 Jorge Sampaoli lo alineó como titular con el Sevilla F .C. para disputar el partido de vuelta de la Supercopa de España contra el F. C. Barcelona y esa misma semana debutó en la temporada 2016-17 de La Liga contra el R. C. D. Espanyol saliendo desde el banquillo. Debutó en el partido de ida de los dieciseisavos de la Copa del Rey como titular contra la S. D. Formentera.
En verano de 2017 firmó por el Málaga C. F. de la Primera División de España a cambio de 2 millones de euros. En el club malagueño jugaría 72 partidos durante tres temporadas, siendo despedido en septiembre de 2020.
El 9 de octubre de 2020, tras quedar libre, firmó por dos temporadas por el Elche C. F. de la Primera División.