Marquez, on a Honda, claimed the 30th pole position of his career, his second in the sport's elite category, by coming in 0.03 seconds faster than compatriot Jorge Lorenzo, the defending world champion, on his Yamaha.
Andrea Dovizioso of Italy, on a Ducati, will start from third place after coming in 0.416sec behind Marquez.
Marquez leads fellow Spaniard Dani Pedrosa by three points in the overall standings coming into the French race, which is the fourth event of the season.
The last time he took pole, at Austin last month, he went on to win the race.
The 20-year-old admitted he was delighted with pole after having fallen in the earlier practice session.
"I was on my second bike, but to build that confidence again after a crash is quite difficult," Marquez said.
"It takes time. I took one or two laps, but then it was qualifying and I pushed like before. In terms of my rhythm, I'm happy. Jorge had a very good rhythm but, you know, we will see how the weather and everything is and we will try to do our best."
Lorenzo, who won the season-opener in Qatar, said Yamaha are closing in on the consistency he believes was missing at Jerez last time out.
"All weekend we have been working to improve the feeling with the front tyre — with which we had some difficulties in Jerez — in order to have a more consistent pace," said the Spaniard.
"I think we got it. I was concentrating on doing a very fast lap but unfortunately I couldn't beat Marc today because he was really fast, but our main target for was to improve the bike for the race and I think we got it."
Yamaha Tech 3's Cal Crutchlow overcame a heavy crash in final practice to take fourth spot and will share the second row with Honda's Stefan Bradl and Pedrosa, the winner in Spain two weeks ago.
Nine-time world champion Valentino Rossi was down in eighth place on his Yamaha.
"Unfortunately today was a worse day compared to ," said the Italian.
"We started quite badly this morning because we had some problems with the rear tyre, so we struggled very much in the practice. We had a lot of question marks so we wanted to try the same setting this afternoon. In fact the tyre had a problem because this afternoon it was not so bad. My rhythm and pace for the race is quite good.
Rossi is chasing an 80th career MotoGP win .
But he is in the middle of an alarming winning drought with his 79th and last triumph coming in Malaysia in October 2010 before he switched to his unsuccessful two-year spell at Ducati.