Zarco debuterade på världsmästerskapsnivå i Grand Prix Roadracing 2009 i 125GP-klassen. Han tävlade från säsongen 2012 i Moto2-klassen. Zarco blev världsmästare i Moto2 säsongen 2015 och försvarade sin VM-titel säsongen 2016. Han blev därmed den förste föraren med två VM-titlar i Moto2. Sedan 2017 kör Zarco i kungaklassen MotoGP. De två första åren för det franska stallet Tech 3 på en Yamaha och sedan 2019 som fabriksförare för KTM. Zarco tävlar vanligen med nummer 5 på sin motorcykel.
Zarco började tävla i Grand Prix-sammanhang säsongen 2009 i 125GP-klassen efter tidigare bland annat ha vunnit Red Bull MotoGP Rookies Cup 2007. De två första åren i Roadracing-VM tävlade han på en Aprilia för WTR San Marino Team. Säsongen 2011 gick Zarco till toppteamet Ajo Motorsport där han körde en Derbi. Zarco tillhörde 2011 de främsta förarna med en lång rad andraplatser. Han tog sin första Grand Prix-seger den 2 oktober 2011 i Japans Grand Prix på Twin Ring Motegi. Zarco blev tvåa i VM 2011, 40 poäng efter Nicolás Terol.
Säsongen 2012 gick Zarco upp till Moto2-klassen. Han körde en Motobi-motorcykel för JiR och tog en tiondeplats i VM. Till 2013 bytte Zarco både team och motorcykel. Han körde en Suter för Iodaracing. Han blev nia i VM och tog två tredjeplatser. Till Roadracing-VM 2014 bytte Zarco ånyo team och redskap. Han körde då för det nystartade Caterham-teamet på en Caterham Suter. Han blev sexa i VM och tog fyra tredjeplatser. Teamet drogs in i konkursen för Caterham F1 Team och upphörde efter säsongen.
Roadracing-VM 2015 tävlade Zarco för sitt fjärde stall och motorcykelfabrikat på lika många år. Det framgångsrika samarbetet med Aki Ajo från 2011 i 125-klassen återupplivades i och med att Ajo Motorsport började tävla i Moto2 med Johann Zarco som ende förare. Motorcykeln var en Kalex, som dominerade startfältet det året. Zarco ledde premiärloppet i Qatar med flera sekunder när växelföraren gick sönder och han slutade åtta. Därefter kom han in som tvåa i Austin och vann sitt första Moto2-Grand Prix i Termas de Río Hondo den 19 april 2015. Zarco tog därmed VM-ledningen. En ledning som ökade för varje Grand Prix genom att Zarco alltid kom på prispallen och segrade i Katalonien, TT Assen, Tjeckien, Storbritannien och San Marino. Vid Aragoniens GP, den 14:e av 18 deltävlingar, hade Zarco chansen att säkra världsmästartiteln. Det fick dock vänta emedan regerande världsmästaren Tito Rabat vann deltävlingen samtidigt som Zarco blev sexa. Rabat bröt armen några dagar innan Japans Grand Prix och kunde inte ställa upp. Zarco var därmed världsmästare redan innan racet, som han sedan vann.
Zarco fortsatte i Moto2 med Ajo Motorsport 2016. Försvaret av VM-titeln inleddes svagt med en 11:e plats i Qatar men Zarco vann sedan Argentinas GP. Därefter sjönk resultaten och efter noll poäng i femte deltävlingen, Frankrikes Grand Prix, låg Zarco femma i VM 31 poäng efter Álex Rins. Men Zarco vände på situationen. I den fem därpå följande deltävlingarna tog han fyra segrar och en andraplats och ledde därmed VM 34 poäng före Rins. Sedan kom en ny svacka för Zarco och trots skada var Rins endast en poäng efter Zarco när 14 av 18 Grand Prix var körda. Även om Zarco inte imponerade presterade huvudkonkurrenterna Rins och Sam Lowes sämre. Till slut var det veteranen Tom Lüthi som utgjorde det enda hotet men Zarco vann Japans Grand Prix och säkrade därmed VM-titeln med en deltävling kvar.
Zarco testade Suzukis MotoGP-motorcykel och skulle köra Suzuka 8-timmars 2016 för den japanska fabriken, men Suzuki valde Álex Rins som förare och det blev inget för Zarco. Han skrev istället på för det franska stallet Tech 3 som var ett satellitstall till Yamaha. Han fick Jonas Folger som stallkamrat. Zarco började säsongen mycket bra. Han ledde debuttävlingen i Qatar tills han vurpade. Zarco fortsatte säsongen väl och kom tvåa i Frankrikes Grand Prix och Valencias Grand Prix samt trea i Malaysias Grand Prix. Han kom på sjätte plats i VM och blev både bäste nykomling (Rookie of the Year) samt bäste förare i ett satellitstall. Zarco fortsatte hos Tech 3 2018 och inledde återigen säsongen mycket bra. Han kom tvåa i Argentina och Spanien och låg tvåa i VM. Säsongen tog en vändning till det sämre efter att Zarco tog pole position hemma i Frankrike men sedan kraschade i kamp om ledningen. Först i slutet återkom han till prispallen med en tredjeplats i Malaysia. Zarco blev återigen sexa i VM och bäste satellitförare.
Till Roadracing-VM 2019 skrev Zarco på som fabriksförare hos KTM Factory Racing. Han trivdes inte alls med KTM-motorcykeln och bad att få bli löst från sitt kontrakt. De tre sista racen ersatte Zarco Nakagami hos LCR Honda. Till 2020 fick Zarco en styrning hos Avintia Racing på en Ducati.