The Repsol Honda Team rider edged out team-mate Dani Pedrosa with Valentino Rossi and defending champion Jorge Lorenzo just behind.
The 20-year-old has already won five times this season and stands 30 points clear of Pedrosa at the top of the standings as he looks to become the first rookie to win the world championship since American Kenny Roberts in 1978.
Marquez locked out the first session on Friday morning and was also on top in the afternoon although it was a close-run thing as he finished just 0.33 seconds ahead of Pedrosa.
The standout performance of the day was by Aleix Espargaro with the Spaniard finishing in the top five, just half a second off the top spot. Cal Crutchlow could only finish 10th.