Inizia a partecipare alle gare del motomondiale come wild card in classe 125 nel 2003 disputando 4 gran premi a bordo di una Aprilia RS 125 R del Racing Team Gadea (squadra di proprietà della sua famiglia). Nello stesso anno è principalmente impegnato nel campionato spagnolo dove si classifica secondo con 82 punti nella classe 125 e nel Campionato Europeo dove chiude trentaduesimo.
Nel 2004 corre la sua prima stagione completa nel motomondiale, che conclude 19º ottenendo 29 punti, avendo come compagno di squadra Pablo Nieto nel team Master - Repsol. Ottiene come miglior risultato un quinto posto in Comunità Valenciana.
L'anno successivo mostra ancora meglio le sue qualità che gli valsero la quinta posizione nel mondiale con 160 punti ottenendo 5 podi così suddivisi: 1 secondo posto (Olanda) e 4 terzi posti (Qatar, Turchia, Catalogna e Comunità Valenciana) lottando con i piloti di vertice e suoi compagni di team (Bautista, Faubel e Pasini).
Nel 2007 ottenne sempre 160 punti come l'anno precedente, ma terminando in settima posizione, nonostante qualche caduta di troppo che gli valsero però 3 podi totali, suddivisi con: la sua prima vittoria al Gran Premio di Francia, un secondo posto al Gran Premio d'Italia e un terzo al Gran Premio della Comunità Valenciana. In questa stagione i suoi compagni di squadra sono stati Faubel e Gábor Talmácsi.
Il 2008 inizia con la vittoria in Qatar, ma in seguito ottiene pessimi risultati e parecchie cadute, così finisce 12º in campionato con 83 punti. Ottiene una pole position in Francia.
Ha gareggiato dal 2004 nel team Aspar di Jorge Martínez (sempre in 125) ed anche nel 2009 viene riconfermato con 2 nuovi compagni di squadra: Julián Simón e Bradley Smith. Ha all'attivo in questa stagione una vittoria nel Gran Premio d'Olanda, due secondi posti (Spagna e Germania) e due terzi posti (Francia e Catalogna), finendo 5º nel campionato mondiale con 141 punti.
Nel 2010 passa in Moto2 al team Tenerife 40 Pons con una Pons Kalex, con compagno di squadra Axel Pons. Ottiene un secondo posto in Italia e termina la stagione al 17º posto con 67 punti.
Nel 2011 torna in 125, ingaggiato dal team Blusens by Paris Hilton Racing con una Aprilia RSA 125; il suo compagno di squadra è Maverick Viñales. Ottiene due terzi posti (Qatar e Olanda). In questa stagione corre il Gran Premio d'Aragona in Moto2 con la Moriwaki MD600 per il team Desguaces La Torre G22 in sostituzione dell'infortunato Carmelo Morales, per poi prenderne definitivamente il posto dal Gran Premio del Giappone, in cui però non può correre a causa di un infortunio, che lo costringe a saltare anche i successivi GP d'Australia, Malesia e Comunità Valenciana. In 125 ha totalizzato 103 punti, in Moto2 nessuno.
Nel 2012 disputa una gara del mondiale Superbike a Monza per sostituire il connazionale infortunato Joan Lascorz nel team Kawasaki Racing. Non Partito in gara 2, dopo che gara 1 venne annullata. Non prende punti validi per il mondiale.
Nel 2013 corre in Moto2 in Qatar in sostituzione dell'infortunato Thomas Lüthi, sulla Suter MMX2 del team Interwetten Paddock. Chiude la gara al ventesimo posto, non ottenendo punti validi per la classifica mondiale.
Torna a disputare una gara mondiale nel 2015, correndo come pilota sostitutivo il Gran Premio del Qatar in sella ad una Honda CBR600RR del team Lorini. Chiude la gara al dodicesimo posto ottenendo quattro punti mondiali e il ventinovesimo posto in classifica finale.
Nel 2020 fa il coach nel team easyRace Team nel CEV Moto2.