Vinales struggled from pole position in the first race at Misano last week due to wrong tire choice, but a change in the way the setup approached in practice meant he was much stronger from the start on Sunday.
On the first lap, the Yamaha rider took the lead from Jack Miller’s fast-starting Pramac Ducati at Turn 4, opening a gap of half a second.
Miller’s hopes for a podium quickly faded and he would retire on lap eight with an engine problem.
Bagnaia on the sister Pramac motorcycle was the rider who led the Vinales chase on lap two. The Italian found a way on lap six at Turn 4 when the Yamaha rider ran far.
With the power of the Ducati and the grip of its soft rear tire, Bagnaia was able to build a lead of over seven tenths, although this advantage increased to over a second a few laps later.
Beyond that, chaos ensued when KTM’s Brad Binder crashed at Turn 14 on the second tour of the Carro hairpin, having just finished on the podium. Moments earlier, Valentino Rossi (Yamaha) slipped out of the top 8 at Turn 4 and would eventually retreat.
At the front, Bagnaia’s gap remained stable between 1.4 and 1.6 seconds, and Vinales comfortably managed the gap to pursuing Pol Espargaro on the KTM and Petronas Yamaha man Fabio Quartararo.
Although the gap had dropped to 1.1 seconds at the start of Lap 21, Bagnaia was still in control until he fell off Turn 6 due to the left-hander.
This put Vinales in a leadership position that he would not hand over to the checkered flag to become the sixth winner in 2020 and get right back into the championship fight.
The battle for second place raged on the final laps as Espargaro’s soft rear tire began to fade and Quartararo chased him home.
Suzuki’s Joan Mir approached this pair after starting from 11th to 11th and taking Quartararo’s interior to third on lap 23 at Turn 1 before finishing second at Turn 4 at Turn 4 Espargaro stole.
Quartararo followed him in Turn 4, but was penalized for long laps on the final lap for crossing the track too often.
The Petronas driver did not take part in the penalty loop and was hit on the checkered flag with a time penalty of three seconds. He dropped to fourth place, lifting Espargaro to the podium.
Miguel Oliveira came with his Tech 3 KTM from 15th to the top 5 ahead of Takaaki Nakagami from LCR Honda and Alex Marquez, who achieved their best result of the year at the Honda plant in seventh.
After finishing eighth, Andrea Dovizioso has a narrow lead of one point over Quartararo in the overall standings. Only four points are now for the works driver Ducati, Quartararo, Vinales and Mir.
San Marino GP winner Franco Morbidelli recovered from early contact after Aleix Espargaro fell to ninth place. Danilo Petrucci (Ducati), Johann Zarco from Avintia, Alex Rins (Suzuki) and Bradley Smith from Aprilia scored the last points.
Tech 3’s Iker Lecuona crashed from sixth in the final stages, and Avintia’s Tito Rabat crashed too, joining Rossi, Bagnaia, Miller, Binder and Aleix Espargaro.