Dopo aver debuttato nelle minimoto nel 2003 e aver partecipato a diversi trofei a livello nazionale,[1] nel 2010 esordisce nella classe 125GP del campionato italiano velocità con una Aprilia del team Ellegi Racing, finendo al 13º posto; prende parte anche all'europeo in gara unica dove chiude quattordicesimo. Nel 2011 corre nello stesso campionato con il team Gabrielli, concludendo al secondo posto in classifica con quattro vittorie all'attivo. Nello stesso anno partecipa alla stessa classe del campionato spagnolo velocità, piazzandosi in 7ª posizione generale,[2] e vince la prova unica disputatasi sul circuito spagnolo di Albacete, valida per il titolo europeo.[3]
Nel 2014 entra a far parte dello SKY Racing Team VR46, guidando una KTM RC 250 GP. Ottiene un secondo posto nel Gran Premio delle Americhe e la sua seconda vittoria nella classe Moto3 del motomondiale al Gran Premio d'Argentina. La settimana successiva si ripete al Gran Premio di Spagna, ottenendo così la terza vittoria in carriera. Vince anche in Italia. A Indianapolis giunge secondo. Al Gran Premio motociclistico d'Aragona ottiene la sua quinta vittoria in carriera. Conclude la stagione al 5º posto con 176 punti. Nel 2015 rimane nello stesso team, con compagno di squadra Andrea Migno. Ottiene una vittoria in Francia, due terzi posti (Italia e Aragona) e una pole position in Giappone. Chiude la stagione al quarto posto con 176 punti.
Nel 2016 rimane nello stesso team, con compagni di squadra Andrea Migno e Nicolò Bulega. Ottiene una vittoria nel Gran Premio delle Americhe, un secondo posto in Francia e una pole position in Italia. Non prende parte al GP d'Austria in quanto sospeso dallo SKY Racing Team VR46 per divergenze con la squadra stessa.[5] A seguito della sospensione, il 18 agosto lo SKY Racing Team VR46 annuncia la scissione del rapporto con Fenati, al suo posto viene designato, a partire dal GP di Gran Bretagna, Lorenzo Dalla Porta.[6] I punti ottenuti nella prima parte di stagione gli consentono di chiudere al decimo posto in classifica piloti.
Il 10 settembre 2016 il team Ongetta Rivacold Racing annuncia di aver trovato un accordo con il pilota ascolano per correre ancora nel mondiale Moto3 nel 2017.[7]
La stagione 2017 inizia con un quinto posto in Qatar e un settimo in Argentina, seguiti dal ritorno sul gradino più alto del podio nel Gran Premio delle Americhe ad Austin. In Spagna, a Jerez, ritorna sul podio con il secondo posto alle spalle di Arón Canet. Poi ottiene quattro secondi posti consecutivi, (Catalogna, Olanda, Germania e Repubblica Ceca) per poi ritornare a vincere nel GP di San Marino e successivamente in Giappone. Chiude la stagione al secondo posto in classifica piloti con 248 punti ottenuti.
Nel 2018 passa in Moto2, alla guida della Kalex del team Marinelli Snipers. Durante la gara di Misano del 9 settembre, si rende autore di varie schermaglie con Stefano Manzi, affiancandolo in rettilineo e afferrando il freno della sua moto mentre i piloti stanno viaggiando ad oltre 200 km/h.[8] L'azione compiuta causa l'esposizione della bandiera nera e l'immediata squalifica, estesa anche alle due gare seguenti.[9] Il giorno successivo, sia la Snipers che la MV Agusta (rispettivamente team attuale e futuro), rescindono i contratti delle stagioni 2018 e 2019 per il fatto controverso.[10] Il tribunale federale della FMI gli revoca inoltre la licenza (contestando la violazione dell'articolo 1.2 del Regolamento di Giustizia); a seguito di tali avvenimenti, il pilota decide di abbandonare l'attività agonistica per tornare al lavoro nella ferramenta di famiglia.[11]
Nonostante le precedenti dichiarazioni, nel novembre seguente è annunciato il ritorno di Fenati alle corse dalla stagione 2019 con il team VNE Snipers che lo aveva licenziato due mesi prima, ma tornando in Moto3.[12][13][14] Il compagno di squadra è Tony Arbolino. Torna alla vittoria in occasione del Gran Premio d'Austria.[15] Chiude la stagione al 16º posto con 76 punti. In questa stagione è costretto a saltare alcuni Gran Premi a causa della frattura dello scafoide della mano sinistra rimediata nelle qualifiche del GP di San Marino.
Nel 2020 corre con la Husqvarna del Max Racing Team, con Alonso López come compagno di squadra. Ottiene la prima vittoria dell'anno in Moto3 nel Gran Premio dell'Emilia Romagna, corso a Misano il 20 settembre 2020. Chiude la stagione al 14º posto con 77 punti. Nel 2021 rimane nello stesso team, con compagno di squadra Adrián Fernández. Ottiene una vittoria in Gran Bretagna,[16] un secondo posto in Spagna, due terzi posti (Olanda e Stiria) e tre pole position (Austria, Gran Bretagna e San Marino) e termina la stagione al quinto posto con 160 punti.[17]
Nel 2022 si sposta nuovamente in Moto2, ingaggiato dal team Speed Up; dopo sei gare, viene licenziato, il pilota viene sostituito da Alonso López.[18][19] I punti ottenuti gli consentono di chiudere al ventisettesimo posto in classifica.[20] Nel 2023 torna nuovamente in Moto3, gareggia per il team Rivacold Snipers, il compagno di squadra è Matteo Bertelle. Pur dovendo saltare alcune gare per infortunio,[21] raccoglie trentacinque punti che gli consentono di classificarsi ventesimo in campionato.[22]