Esordisce nella classe 125 del motomondiale nel 1997, correndo il Gran Premio di Spagna a bordo di un'Aprilia del Airtel Team Aspar, senza ottenere punti. L'anno dopo, sempre come wildcard, corre i tre Gran Premi casalinghi, ottenendo in tutto tre punti. Sempre nel 1998 vince il campionato spagnolo della classe 125[1] e si classifica ventiduesimo nel campionato europeo.
Nel 1999 passa alla classe 250 e diventa pilota titolare nel team Antena 3 Yamaha-d'Antin, con compagno di squadra David García. Ottiene come miglior risultato un dodicesimo posto in Francia e termina la stagione al 23º posto con 10 punti. Nel 2000 rimane nello stesso team ed ottiene come miglior risultato un sesto posto in Portogallo e termina la stagione al 14º posto con 35 punti.
Nel 2001 ritorna a correre con l'Aprilia del team Valencia Circuit Aspar, con compagno di squadra Alex Debón. Ottiene due terzi posti (Comunità Valenciana e Malesia) e due pole position (Comunità Valenciana e Brasile) e termina la stagione al 5º posto con 167 punti. Contestualmente alle sue partecipazioni come pilota titolare nel motomondiale, nel 2000 e nel 2001 prende parte anche al campionato spagnolo, vincendolo entrambi gli anni nella classe 250, portando a tre i suoi titoli in ambito nazionale.[1]
Nel 2002 rimane al team Aspar (rinominato questa stagione come team Telefonica Movistar-Repsol), con compagno di squadra Toni Elías. Ottiene quattro vittorie (Spagna, Francia, Portogallo e Malesia), due secondi posti (Gran Bretagna e Australia), tre terzi posti (Sudafrica, Italia e Catalogna) e nove pole position (Giappone, Francia, Catalogna, Gran Bretagna, Germania, Repubblica Ceca, Pacifico, Malesia e Australia) ed è vicecampione del mondo con 241 punti a seguito di lungo confronto con l'italiano Marco Melandri (che si laurea campione del mondo).
Nel 2003 ottiene una vittoria in Gran Bretagna, tre secondi posti (Italia, Catalogna e Germania), due terzi posti (Malesia e Australia), una pole position in Gran Bretagna e termina la stagione al 5º posto con 194 punti. Nel 2004 rimane sempre nel team Repsol - Aspar, ma questa volta ha come compagno di squadra Sebastián Porto. Ottiene un terzo posto in Spagna e il 7º posto finale con 124 punti.
Lascia il motomondiale per spostarsi nel campionato mondiale Superbike del 2005, correndo con una Ducati 999RS del team Ducati SC - Caracchi, con compagno di squadra Lorenzo Lanzi. Dopo l'ottavo Gran Premio però scinde il contratto con la squadra, prendendo parte alle ultime due prove della stagione come wild card su una Kawasaki ZX10 del team PSG-1 Kawasaki Corse. Il risultato nella classifica generale vede lo spagnolo classificarsi al diciassettesimo posto con 37 punti totali. Nello stesso anno e sempre con Kawasaki disputa, come pilota wild card senza punti la seconda prova di Misano nel Campionato Italiano Superbike classificandosi terzo.
Ingaggiato quale pilota titolare per la stagione 2006 dal team PSG-1 Kawasaki Corse, continua così la sua esperienza nel mondiale delle moto derivate dalla serie in sella alla ZX10R, con compagni di squadra il francese Régis Laconi e il britannico Chris Walker. Termina la stagione al 10º posto con 139 punti e ottiene un terzo posto in gara 2 ad Assen. Nel 2007 viene riconfermato, stavolta con il solo Régis Laconi come compagno di squadra, dal team PSG-1, chiudendo la stagione al 12º posto con 125 punti e ottenendo un terzo posto in gara 2 a Magny-Cours, nell'ultimo appuntamento della stagione. Nella stessa annata corre il GP di Francia della MotoGP in sostituzione dell'infortunato Olivier Jacque, con la Kawasaki ZX-RR del team Kawasaki Racing, ottenendo 5 punti.
Nel 2008 passa al team Suzuki Alstare con la Suzuki GSX-R 1000 (moto che l'anno precedente guidava Max Biaggi); il compagno di squadra è Yukio Kagayama. Nel gran premio di apertura della stagione, sul circuito di Losail in Qatar, in gara2 coglie la sua prima vittoria nel mondiale Superbike. Ottiene anche un secondo posto in gara 1 in Francia e un terzo posto in gara 2 in Australia, a Phillip Island. Termina la stagione al 6º posto con 256 punti. Continua nel mondiale Superbike anche il 2009, correndo tre Gran Premi al posto dell'infortunato Max Neukirchner sulla Suzuki GSX-R1000 K9 del team Suzuki Alstare e poi gli ultimi cinque Gran Premi con la Ducati 1098R del team DFX Corse. Termina la stagione al 21º posto con 22 punti.
Nel 2010, dopo la parentesi nel mondiale Superbike, torna nel motomondiale nella classe Moto2, correndo con una Moriwaki MD600 del team Holiday Gym G22; il compagno di squadra è Yannick Guerra.[2] Ottiene come miglior risultato un quarto posto in Germania e termina la stagione al 18º posto con 45 punti. In questa stagione è costretto a saltare i GP di Indianapolis e San Marino per la frattura del calcagno del piede sinistro rimediata nelle qualifiche del GP d'Indianapolis, frattura che condiziona la seconda parte di stagione e che lo spinge ad annunciare il ritiro dalle competizioni il 7 febbraio 2011.[3]