Vincitore della Superstock 1000 FIM Cup nel 2007 e campione del mondo Endurance nel 2017 e nel 2023. È il primo pilota italiano a vincere il mondiale Endurance ed il Bol d'Or (nel 2017). Inoltre è il primo italiano ad aggiudicarsi le tre grandi classiche del Mondiale Endurance (24 Ore di Le Mans, Bol d'Or e 24 Ore di Spa-Francorchamps), denominato "Master of Endurance"[1].
Nelle stagioni 2002 e 2003 disputa tre Gran Premi nel campionato italiano Supersport senza ottenere punti. Nel 2004 disputa alcune gare nel campionato italiano Stock1000 conquistando qualche punto. Nel biennio 2005-2006 si classifica nono e quinto nell'italiano Supersport. In queste due annate, parallelamente al campionato Italiano, prende parte al Campionato europeo Superstock 600 classificandosi quarto nel 2005 e secondo nel 2006.
A causa di un infortunio al braccio destro riportato durante il Gran Premio d'Australia, è stato ricoverato all'ospedale di Melbourne, dove è stato operato per un trapianto di pelle per rimarginare le ferite. Per questo infortunio ha dovuto saltare le due gare conclusive in Malesia e Comunità Valenciana ed è stato sostituito da Aleix Espargaró.[3][4] Ha terminato la stagione in 16ª posizione con 38 punti.
Nel 2011 ritorna alla coppa del Mondo Superstock 1000 con il team Goeleven, che gli mette a disposizione la Kawasaki ZX-10R; dopo tre gare passa a guidare una Ducati 1098R del team Lazio MotorSport, con cui conquista per tre volte il podio, chiudendo la stagione al quinto posto. Nella stessa stagione disputa tre gare nel CIV Stock 1000 conquistando un podio.
Nel 2012 passa al campionato mondiale Superbike con il team Red Devils Roma alla guida di una Ducati 1098R. Durante le prove del gran premio del Nürburgring è protagonista di una brutta caduta che gli provoca diverse fratture alla gamba destra, per questo è costretto a terminare la stagione in anticipo.[5] Per la stagione 2013 Canepa firma per il team Barni Racing con cui, in sella ad una Ducati 1199, prende parte alla Superstock 1000 FIM Cup a fianco del compagno di squadra Eddi La Marra.[6] Chiude la stagione secondo in classifica generale a 24 punti dal vincitore Sylvain Barrier. Partecipa inoltre a due prove del mondiale Superbike con il team Ducati Alstare, finendo ventiquattresimo in classifica con 12 punti, e all'evento finale del CIV Superbike, proprio in sostituzione di La Marra.[7]
Nel 2014 partecipa in pianta stabile al mondiale Superbike in sella all'unica, escluse le wild card, Ducati 1199 Panigale R in configurazione EVO. Chiude la stagione con un bottino di 73 punti che lo posiziona tredicesimo in classifica generale, secondo tra le moto in configurazione EVO, superato dal solo David Salom.
Nel 2015 inizia il mondiale Superbike correndo i primi quattro GP in sella alla EBR 1190 RX, ma poi rimane senza moto a causa del fallimento del costruttore statunitense.[8] Successivamente viene ingaggiato dal team Grillini per sostituire Christophe Ponsson (passato al team Pedercini in sella alla Kawasaki ZX-10R).[9][10] A partire dal GP di Misano torna a guidare la Ducati Panigale. Utilizza infatti una moto del team Althea Racing lasciata libera dallo spagnolo Nicolás Terol, passato a disputare il campionato mondiale Supersport. Con questa squadra termina la stagione ottenendo risultati migliori in prova, riesce infatti a partire in prima fila, col terzo tempo assoluto, sia nel Gran Premio di Spagna a Jerez, sia nel Gran Premio di Francia a Magny-Cours. Chiude la stagione, nella quale ha guidato tre differenti motociclette, al sedicesimo posto con 55 punti, quasi tutti ottenuti con Ducati.
Sempre nel 2016 partecipa ad alcune gare della Superstock 1000 FIM Cup in qualità di sostituto, in sella ad una Yamaha del Pata Yamaha Official Stock Team, ottenendo un podio nel Gran Premio di Gran Bretagna a Donington.[12] Sempre nel 2016 partecipa ai Gran Premi d'Italia a Misano Adriatico e Stati Uniti a Laguna Seca in sella alla Yamaha YZF-R1 del team Pata Yamaha in sostituzione dell'infortunato Sylvain Guintoli.[13] In queste due gare è il pilota Yamaha che totalizza più punti al traguardo finendo sempre nei primi dieci. Ottiene trenta punti e chiude la stagione al diciannovesimo posto in classifica piloti con solo due prove (quattro gare) all'attivo. In questa stagione inoltre, disputa i primi Gran Premi del Campionato Italiano Velocità, classe Superbike, conquistando tre piazzamenti a podio ed il decimo posto in classifica.
Nel 2017 Canepa viene confermato pilota del team GMT94 nel campionato mondiale Endurance. Dopo 3 vittorie su 5 gare di campionato, la sua squadra si laurea campione del mondo alla 8 Ore di Suzuka. È il primo italiano della storia a vincere questo campionato.[14]
Sempre nel 2017 la squadra di Canepa vince l'81ª edizione del Bol d'Or, anche in questo caso è il primo italiano a riuscire a vincere questa gara. Nel 2018, oltre all'impegno nel mondiale Endurance, partecipa in qualità di wild card ai Gran Premi di Donington e Misano Adriatico nel mondiale Superbike, in sella ad una Yamaha YZF-R1 del team Yamaha Motor Europe, con cui partecipa anche al trofeo Indipendenti. Raccoglie sette punti, che gli consentono di chiudere ventiduesimo nel mondiale piloti e nono nel trofeo Indipendenti.
Nel 2019 corre in MotoE con il team LCR; il compagno di squadra è Randy de Puniet.[15] Ottiene come miglior risultato in gara un quarto posto nella seconda gara di Misano, e chiude la stagione al 9º posto con 46 punti. Nel 2020 rimane nello stesso team, con compagno di squadra Xavier Siméon. Chiude la stagione al 9º posto con 51 punti.[16] Nel 2021 continua con Yamaha nel mondiale Endurance rinnovando anche per la stagione successiva.[17] Sempre nel 2021, conquista un podio nel campionato italiano Superbike partecipando come wild card con il team Keope Motor. Nel 2022 partecipa Campionato Italiano Velocità (CIV SBK) in sella alla Yamaha YZF-R1 del team Keope Motor e corre anche il mondiale Endurance in sella sempre alla Yamaha R1 del team Yamaha Yart chiudendo 2º assoluto al Bol d’or. Nel 2022 disputa la prima parte del CIV Superbike ottenendo sei piazzamenti a podio su sei gare disputate salvo poi dover lasciare per contemporanei impegni nel mondiale Endurance.[18] Nella stessa stagione è pilota titolare nella coppa del mondo MotoE con il team RNF Racing, il compagno di squadra è Bradley Smith. In occasione del Gran Premio di Francia, grazie al terzo posto in gara2, ottiene il suo primo podio nel Motomondiale; chiude la stagione al settimo posto.[19] Nel 2023 gareggia nel mondiale Endurance con il team YART in equipaggio con Marvin Fritz e Karel Hanika.[20] Sempre su Yamaha nel 2023 vince la 24 Ore di Spa-Francorchamps.[21] Impegnato nell'Endurance anche nel 2024, annuncia il proprio ritiro dalle corse in concomitanza con il Bol d'Or.[22] Nella stessa stagione è chiamato a sostituire l'infortunato Jonathan Rea al Cremona Circuit nel mondiale Superbike.[23]