Esordisce nel campionato Spagnolo Velocità nel 2016, correndo nella categoria Moto3 Production. Nel 2017 passa nella categoria Moto2 chiudendo al quarto posto finale; nello stesso anno debutta nel motomondiale, correndo in sostituzione dell'infortunato Xavi Vierge sulla Tech 3 Mistral 610 in Moto2 in Germania. Nel 2018 chiude terzo in Moto2 nel CEV e corre nella stessa classe nel motomondiale i Gran Premi di Spagna, Francia e Italia in sostituzione dell'infortunato Remy Gardner sulla Tech 3. Nel 2019 ha corso sia nella classe MotoE del motomondiale con il team Tech 3 E-Racing, con compagno di squadra Kenny Foray, ma anche nella classe Moto2 del CEV, chiudendo rispettivamente quarto (con due secondi posti nel Gran Premio di San Marino e un terzo posto in gara 2 nel Gran Premio della Comunità Valenciana) e secondo.[1]
Nel 2020 corre nella classe Moto2 del motomondiale con la Kalex del team Flexbox HP 40; il compagno di squadra è Lorenzo Baldassarri. Ottiene un secondo posto in Comunità Valenciana e conclude la stagione al 16º posto con 63 punti.[2]
Nel 2021 rimane nello stesso team, con compagno di squadra Stefano Manzi. Ottiene come miglior risultato un ottavo posto in Portogallo e chiude la stagione al ventitreesimo posto con 16 punti.[3] In questa stagione è costretto a saltare il Gran Premio di Germania a causa di ustioni alla gamba destra rimediate nel precedente GP di Catalogna e il Gran Premio d'Olanda per la positività al SARS-CoV-2. Nel 2022 torna in MotoE, è pilota titolare del team Tech 3; il compagno di squadra è il connazionale Álex Escrig. Disputa una stagione regolare andando a punti in tutte le gare tranne una (in cui si ritira) e chiude al nono posto in classifica.[4]Contestualmente al mondiale gareggia nel CEV Moto2 dove si classifica all'undicesimo posto. Nel 2023 passa al team Dynavolt Intact GP in MotoE, il compagno di squadra è Randy Krummenacher. Ottiene una vittoria in gara due al Gran Premio di Germania e chiude la stagione al quarto posto.[5] Terminato l'impegno con le motociclette elettriche è chiamato, in qualità di pilota sostitutivo, a disputare in Gran Premio d'Aragona nel mondiale Supersport con la YZF-R6 del team Yamaha Thailand Racing. Dopo essersi ritirato in gara uno non prende parte a gara due.[6] Nel 2023 è inoltre iscritto ai due Gran Premi di Valencia nel CEV Moto2 con una NTS del team MMR Racing. Pur disputando le prove non prende parte ad entrambe le gare.[7] Sempre a Valencia e con NTS, prende parte all'evento conclusivo della classe Moto2 del motomondiale concludendo anzitempo la gara con un ritiro.[8]
Per la stagione 2024, viene confermato con il team Dynavolt Intact GP con Lukas Tulovic come nuovo compagno di squadra.[9] Nel primo appuntamento stagionale in Portogallo, ottiene due secondi posti.[10][11] Nel successivo appuntamento in Francia, coglie la Pole Position, la prima della carriera, ma in entrambe le gare si ritira.[12] Nella prima gara del Gran Premio d'Olanda trova la sua prima vittoria stagionale, la seconda in carriera, mentre nella seconda gara termina di nuovo sul podio in terza posizione.[13][14] In Germania realizza la sua prima doppietta in carriera, vincendo Gara 1 sull'asciutto e dominando Gara 2 sul bagnato e portandosi in testa alla classifica piloti.[15][16] Dopo un secondo posto in Gara 1 in Austria, riesce a vincere in Gara 2 allungando il suo vantaggio sugli inseguitori.[17] Il 7 settembre al Gran Premio di San Marino e della Riviera di Rimini a Misano, termina in quarta posizione Gara 1 diventando matematicamente Campione del Mondo di MotoE.[18] In Gara 2 chiude settimo concludendo la stagione con 246 punti.[19]