Marquez, who had a carbon-reinforced chassis on both of his bikes, beat his own benchmark from Friday soon after the session began with a 1m23.788s as he and Valentino Rossi locked out the top two for most of the Saturday morning session.
Rossi was 11th in the combined order before FP3, but was quickly able to move into the top 10 with a time of 1m24.250s.
The rest of the field started to cut Marquez’s into sizeable gap towards the end of the running, with Andrea Dovizioso and Fabio Quartararo taking turns in second place before Vinales went quickest.
But Marquez then switched to a new soft rear tyre and then quickly retook the lead by over three tenths with a 1m23.251s.
There was no further response from Vinales afterwards and it was Marquez leading the Yamaha man as the session ended.
The factory Ducatis of Andrea Dovizioso and Danilo Petrucci set identical times to take third and fourth, just 0.002s slower than Vinales.
Yamaha riders Quartararo and Rossi completed the top six, while the third Ducati GP19 of Jack Miller (Pramac) secured seventh.
Takaaki Nakagami (LCR Honda) secured eighth ahead of the sole Suzuki of Alex Rins and KTM’s Pol Espargaro, who set his best time while following Miller and Marquez.
He salvaged 10th, beating Cal Crutchlow by half a tenth, with the Briton thus forced to take part in Q1 later today.
Miguel Oliveira (Tech 3 KTM) was an impressive sixth on Friday but he dropped to 12th in the combined order after FP3.
Repsol Honda’s Stefan Bradl was the only rider failing to improve his overall laptime in FP3, the German ending up only 20th.