Dopo aver corso in motocross ed enduro, all'età di 10 anni passa alle corse su strada. Nel 2010 partecipa in Australia al trofeo internazionale NS100F e al campionato MRRDA Nippers per minori di 13 anni. Nel 2011 va in Spagna per correre nel campionato Velocità Mediterraneo. Nel 2013 corre nel campionato Spagnolo Velocità.
Nel 2014 debutta nella classe Moto3 del motomondiale, correndo i Gran Premi di San Marino (in sostituzione dell'infortunato Luca Grünwald sulla Kalex KTM del team Kiefer Racing), Australia (come wildcard a bordo di una KTM RC 250 GP) e Malesia (in sostituzione dell'infortunato Eric Granado sulla KTM del team Calvo), totalizzando un punto. Nel 2015 corre sulla Mahindra MGP3O del team CIP, con compagno di squadra Tatsuki Suzuki. Ottiene sei punti mondiali, frutto di un decimo posto ottenuto nel Gran premio d'Australia che gli consentono di chiudere trentesimo in classifica mondiale. Nel 2016, dopo aver iniziato la stagione nel CEV Moto2, torna nel motomondiale prendendo il posto di Alessandro Tonucci, nel team Tasca Racing in Moto2, a partire dal Gran Premio di Catalogna.[1] Ottiene come miglior risultato un dodicesimo posto in Germania e chiude la stagione al ventiseiesimo posto in classifica piloti totalizzando 8 punti.
Nel 2017 passa alla Tech 3, con compagno di squadra Xavi Vierge. Ottiene come miglior risultato un nono posto in Repubblica Ceca e termina la stagione al 21º posto con 23 punti. In questa stagione è costretto a saltare il Gran Premio delle Americhe a causa di un infortunio alla caviglia sinistra rimediato nell'evento precedente. Il suo posto in squadra, in questa gara, viene preso da Julián Simón.[2] Nel 2018 rimane nello stesso team, con compagno di squadra Bo Bendsneyder. Ottiene come miglior risultato un quinto posto in Comunità Valenciana e termina la stagione al 19º posto con 40 punti. In questa stagione è costretto a saltare i Gran Premi di Spagna a Jerez, di Francia a Le Mans e Italia al Mugello a causa di un infortunio rimediato in allenamento. Il suo posto in squadra, in questo frangente, viene preso dallo spagnolo Héctor Garzó.[3]
Nel 2019 passa al team SAG, alla guida di una Kalex, con compagno di squadra Tetsuta Nagashima. Ottiene un secondo posto in Argentina e chiude la stagione al 15º posto con 77 punti. Nel 2020 è pilota titolare con lo stesso team della stagione precedente. Il compagno di squadra è Kasma Daniel Bin Kasmayudin. Ottiene una pole position in Austria, un secondo posto in Francia, due terzi posti (Stiria ed Europa. In questa stagione è costretto a saltare i Gran Premi di San Marino ed Emilia Romagna a causa della frattura di pollice e piede sinistri rimediata nel warm up del GP di San Marino. Nel GP del Portogallo ottiene la prima vittoria della carriera dopo essere partito dalla pole position.[4] Conclude la stagione al sesto posto con 135 punti.[5]
Nel 2021 corre con la Kalex del team Red Bull KTM Ajo; il compagno di squadra è Raúl Fernández; ottiene cinque vittorie (Italia, Catalogna, Germania, Gran Bretagna e Algarve), sei secondi posti (Qatar, Doha, Francia, Olanda, Aragona e San Marino), un terzo posto in Portogallo e tre pole position (Spagna, Catalogna e Stiria). Diventa campione del mondo di Moto2 con 311 punti,[6] primo australiano a vincere in questa categoria.[7]
Nella stagione 2022 debutta nella classe MotoGP con la KTM RC16 del team Tech3 KTM Factory Racing, con compagno ancora Raúl Fernández.[8] All'esordio nella massima serie va subito a punti nel GP del Qatar chiudendo in 15ª posizione. Totalizza tredici punti classificandosi al ventitreesimo posto.[9] Nel 2023 si trasferisce nel mondiale Superbike alla guida di una YZF-R1 del team GYTR GRT Yamaha, il compagno di squadra è Dominique Aegerter. Con 158 punti ottenuti si classifica al nono posto nel mondiale e quarto nel Trofeo Indipendenti.[10] Nel 2024 prosegue in Superbike con GYTR GRT. In occasione del Gran Premio di Assen, in gara due, ottiene il promo podio facendo anche il giro più veloce e termina il campionato al decimo posto.[11]Contestualmente alle derivate disputa tre Gran Premi, sia come sostituto che come wild card, in MotoGP con il team ufficiale Yamaha senza ottenere punti.