Nacido en Mairena del Aljarafe, Sevilla, Gavilán se formó en la cantera del Real Betis Balompié e hizo su debut con el Betis Deportivo Balompié en la temporada 2008-09 en la Segunda División B.
Posteriormente fue cedido hasta en tres ocasiones a los clubs italianos Piacenza Calcio, Associazione Sportiva Dilettantistica Nocerina 1910 y San Marino Calcio.
En junio de 2014, rescindió su contrato con el Bologna Football Club 1909.
En 2016 regresa a España para jugar en las filas del CD Eldense, Unió Esportiva Llagostera y Club Deportivo Guijuelo de Segunda División B, con el que disputó quince partidos la pasada campaña tras su llegada al club salmantino en el mercado invernal.
[4] En las filas del Happy Valley Athletic Association juega 9 partidos y anota 3 goles durante la temporada 2019-20.