Andrea Dovizioso, who trails in the title race by just 11 points, had a disappointing session, managing to qualify in 11th place.
Triple world champion Marquez, who grabbed a career 44th pole will be hoping to avoid last year’s repeat when he crashed out of the race while in lead.
“We will see the feeling with the bike, it is important at the start that I warm the tyres well and we will see which rear tyres we will choose,” Marquez said.
“The race is very long, 27 laps, the tyres can drop, I will just try to start well and get the feel of the bike.The most important thing is to finish on the podium and especially in front of Dovizios.”
Frenchman Johann Zarco, who was on pole last weekend at the Japanese MotoGP last weekend, will start third. He looked set to repeat the feat when he hit the front before Vinales and Marquez claimed the best lap time in the final moments of qualifying.
Andrea Iannone, Australian Jack Miller and Pol Espargaro will start on the second row of the grid while six-time race winner Valentino Rossi will start seventh.