Vinales lost the front of his factory Yamaha early on the way into the penultimate left-hander at Turn 13 five minutes into the session, a cold tyre catching him out.
The Yamaha rider wheeled his M1 back into pitlane and would rejoin the session soon after, but appeared to be in some discomfort with his arm – though Yamaha confirmed he was suffering from no obvious injuries.
Petronas Yamaha's Franco Morbidelli had set the pace with a 1m58.629s on his M1, though was usurped by KTM’s Pol Espargaro with a 1m57.607s.
The factory KTM rider improved to a 1m57.392s with 36 minutes left on the clock, which would go unchallenged until the closing stages when a handful of riders fitted fresh rubber.
When he returned to action, Vinales leaped up to second with a 1m57.565s, but would slip back to fifth at the chequered flag.
Espargaro’s time was finally beaten with just under five minutes to go by Suzuki’s Joan Mir with a 1m57.364s on a fresh hard rear tyre.
Nakagami, who said back at Jerez that he has been trying to copy Marc Marquez’s braking style, deposed Mir with a 1m57.353s to lead a session in which the top 15 were covered by under half a second.
Espargaro completed the top three behind Nakagami and Mir, with Avintia’s Johann Zarco jumping up to fifth late on with a 1m57.460s.
Andrea Dovizioso trailed Vinales in sixth on the factory Ducati ahead of his teammate Danilo Petrucci, with Valentino Rossi eighth on the Yamaha.
Morbidelli wound up ninth having led the very early stages, with LCR’s Cal Crutchlow – still recovering from a broken wrist last month – completed the top 10.
Alex Rins was 12th on his Suzuki as he continues to recover from the broken and dislocated shoulder he suffered at the Spanish GP weekend, with championship leader Fabio Quartararo 13th on the Petronas Yamaha M1 having not gone for a late time attack.
Completing the top 15 was Pramac’s Francesco Bagnaia, who had a fast crash at Turn 1 late on.
Brad Binder trailed Bagnaia in 16th after the KTM rider had a late effort which initially put him second-fastest cancelled.
Needing a second operation on his broken right arm after breaking the titanium plate in a “domestic accident” on Monday, HRC test rider Stefan Bradl is filling in for Marc Marquez.
Making his first appearance since last year’s Austrian GP weekend, the 2011 Moto2 world champion was 22nd and last in FP1.