The Ducati-Avintia rider pipped his French compatriot who won the opening two rounds of the coronavirus-curtailed season from pole for Yamaha’s satellite SRT team.
Quartararo’s team-mate Franco Morbidelli will start in third for Sunday’s race in Brno with seven-time champion Valentino Rossi in 10th and Andrea Dovizioso back in 18th.
World champion Marc Marquez continues to be absent as he recovers from another bout of surgery on the arm he broke in a first race crash of the campaign.
Zarco, 30, who left KTM in the middle of last season due to poor results, was claiming his sixth MotoGP pole.
Youngster Quartararo leads second-placed Maverick Vinales, who starts fifth at the Masaryk Circuit, by 10 points with 12 races of the campaign to go.