Terol iniziò a correre all'età di 11 anni nelle varie classi minori spagnole, a partire dalle minimoto nel 1999, fino al suo debutto a bordo di moto da 125cm³ nel 2002, anno che lo ha visto concludere al secondo posto la coppa Aprilia Bancaja. L'anno dopo ha debuttato nel campionato spagnolo velocità, finendo sedicesimo nella classe 125; nel 2004 ha corso nuovamente nel CEV, piazzandosi invece al quarto posto finale.[1]
Esordisce nella classe 125 del motomondiale nel 2004, correndo il Gran Premio della Comunità Valenciana in sostituzione dell'infortunato Mike Di Meglio, sull'Aprilia RS 125 R del team Globet.com Racing. Non ottiene punti.
Nel 2005 diventa pilota titolare, ingaggiato dal team Caja Madrid Derbi Racing alla guida della Derbi 125 GP; il compagno di squadra è Pablo Nieto. Ottiene come miglior risultato un quindicesimo posto in Spagna e termina la stagione al 36º posto con un punto. In questa stagione è costretto a saltare i GP di Giappone, Malesia e Qatar per infortunio. Nel 2006 rimane nello stesso team, questa volta avendo come compagno di squadra Lukáš Pešek. Ottiene come miglior risultato due settimi posti (Germania e Repubblica Ceca) e termina la stagione al 14º posto con 53 punti. Nel 2007, ingaggiato dal team Valsir Seedorf Derbi, ottiene come miglior risultato due undicesimi posti (Malesia e Comunità Valenciana) e termina la stagione al 22º posto con 19 punti.
Nel 2008 passa al team Jack & Jones WRB; il compagno di squadra è Simone Corsi. Ottiene la sua prima vittoria a Indianapolis, due secondi posti (Spagna e Comunità Valenciana) e due terzi posti (Portogallo e Francia) e termina la stagione al 5º posto con 176 punti. Nel 2009 ottiene una vittoria in Repubblica Ceca e tre secondi posti (Italia, Catalogna e San Marino) e termina la stagione al 3º posto con 179,5 punti.
Nel 2010 passa al team Bancaja Aspar; il compagno di squadra è Bradley Smith. Ottiene tre vittorie (Qatar, Repubblica Ceca e Indianapolis), otto secondi posti (Spagna, Francia, Italia, Olanda, San Marino, Aragona, Giappone e Portogallo), tre terzi posti (Malesia, Australia, Comunità Valenciana) e una pole position in Francia e termina la stagione al 2º posto con 296 punti. In questa stagione è costretto a saltare il GP di Germania per un infortunio alle vertebre rimediato nel GP di Catalogna.
Nel 2011 rimane nello stesso team, questa volta con compagni di squadra Héctor Faubel e Adrián Martín. Vince il titolo con 302 punti,[2] ottenendo otto vittorie (Qatar, Spagna, Portogallo, Catalogna, Italia, Indianapolis, San Marino e Aragona), tre secondi posti (Francia, Giappone e Comunità Valenciana) e sette pole position (Qatar, Portogallo, Francia, Catalogna, Repubblica Ceca, Indianapolis e Malesia). In questa stagione è costretto a saltare il Gran Premio d'Olanda a causa di una microfrattura al mignolo della mano destra rimediata durante le prove libere del GP e, con un'ulteriore caduta nelle qualifiche, la condizione fisica del pilota è peggiorata.
Nel 2012 passa in Moto2, rimanendo nello stesso team, che gli affida una Suter MMX. Riesce ad arrivare sul podio nell'ultima gara di Valencia concludendo il campionato al 17º posto con 38 punti. Nel 2013 rimane nella stessa squadra, con compagno di squadra Jordi Torres. Ottiene tre vittorie (Americhe, Aragona e Comunità Valenciana) e un secondo posto in Italia e termina la stagione al 7º posto con 150 punti. Nel 2014 rimane nello stesso team. In questa stagione è costretto a saltare il Gran Premio di Spagna a causa di una botta a un'anca rimediata nelle prove libere del GP e il Gran Premio di Gran Bretagna per affaticamento muscolare. Ottiene due soli punti, totalizzati nel Gran Premio d'Argentina, e il 28º posto finale.
Nel 2015 passa al campionato mondiale Superbike in sella ad una Ducati Panigale R del team Althea Racing. Partecipa a 12 gare del mondiale ottenendo 54 punti iridati, prima di essere sostituito da Niccolò Canepa. A partire dal Gran Premio di Jerez passa al campionato mondiale Supersport in sella ad una MV Agusta F3 675 del team MV Agusta Reparto Corse in sostituzione dell'infortunato Jules Cluzel,[3] ottiene un quinto posto nella gara d'esordio. Conclude anche le restanti due gare del mondiale a punti, chiudendo diciottesimo con 23 punti.
Nel 2016 diventa pilota titolare nel campionato mondiale Supersport, viene infatti ingaggiato dal team Schmidt Racing che gli affida una MV Agusta F3 675. In occasione della terza gara stagionale sul circuito di Aragón, Terol ottiene il primo podio della sua carriera in questa categoria giungendo terzo al traguardo.[4] Non termina la stagione ma i punti ottenuti gli consentono comunque di migliorare la posizione in classifica piloti rispetto all'anno precedente, chiudendo diciassettesimo.
Nel 2019 corre in MotoE con il Openbank Ángel Nieto Team; la compagna di squadra è María Herrera. Porta a termine tutte le gare in calendario, andando sempre a punti. Miglior risultato stagionale è l'ottavo posto ottenuto nella prima gara di Misano. Chiude la stagione al 12º posto con trentatré punti ottenuti.[5]
A dicembre 2021 annuncia di ritirarsi dalle competizioni, chiudendo la sua carriera da pilota professionista.[6]