Fino al 2015 prende di nuovo parte al Campionato Italiano Velocità vincendo, proprio in questa stagione, il titolo nella classe Moto3 con una Mahindra Peugeot del team Minimoto Portomaggiore.[2] Sempre nel 2015 fa il suo esordio nel Motomondiale correndo due Gran Premi in sella alla Mahindra MGP3O del San Carlo Team Italia in qualità di pilota sostitutivo. Non ottiene punti validi per la classifica mondiale.
Nel 2016 partecipa nuovamente al motomondiale, classe Moto3, con una Mahindra del team Mahindra Racing, anche in questo caso non ottiene punti validi per la classifica mondiale. Nel 2017 prende parte alla sua prima stagione da pilota titolare nella classe Moto3 del motomondiale con il team CIP, che gli affida una Mahindra MGP3O. Il compagno di squadra è Manuel Pagliani. In Giappone coglie il primo podio nel motomondiale, giungendo terzo.[3] Chiude la stagione al ventitreesimo posto in classifica piloti con venti punti ottenuti. Nel 2018 corre con la KTM RC 250 GP del team Redox PrüstelGP; il compagno di squadra è Jakub Kornfeil. L'8 Aprile 2018 vince la sua prima gara nel motomondiale in occasione del Gran Premio d'Argentina. Giunge terzo nel Gran Premio delle Americhe e secondo in Spagna, Italia, Catalogna, Germania e Aragona. Torna alla vittoria in Austria dopo essere partito dalla pole position. Ottiene la pole position in Thailandia. Vince in Giappone. Conclude la stagione al 3º posto con 214 punti.