Marco Bezzecchi secured his maiden podium in the premier class with a second place on the Mooney GP21, with Maverick Viñales claiming his first podium for Aprilia with his team-mate Aleix Espargaro having a fine ride to fourth.
The Spaniard came from 15th, after reigning champion Fabio Quartararo slid off the Monster Energy Yamaha at turn five on lap five, taking his championship rival into the gravel trap.
The Frenchman now takes a Long Lap penalty for the Monster Energy British Grand Prix after summer break for the overly ambitious move.
Manx Grand Prix: Michael Dunlop gears up for Classic Superbike victory bid on new Team Classic Suzuki GSX-R750
Kofi Balmer 'feels amazing' after making dream move to Crystal Palace
Jeremy McWilliams notches Bishopscourt double at Classic Bike Festival Ireland on Michael Dunlop's Team Classic Suzuki
In Pictures: Team NI's Commonwealth Games medal winners
Blackpool reject bid for Shayne Lavery amid Millwall speculation
Espargaro had risen to sixth as the last lap beckoned.
He wasn’t finished and dived past Lenovo Ducati’s Jack Miller, who had came from 10th as he served his Long Lap penalty on lap four and KTM’s Brad Binder as they ran into the Timmer Chicane for the final time. Any chance of points for Quartararo ended on lap 11 when he crashed out for the second time.
“I made a rookie mistake,” said Quartararo. “It was only the third lap and I attacked like it was the last one...it was totally my mistake - my apologies to Aprilia and Aleix for making him go out of the track.
“It was a race accident...I came into the pits because I felt there was a problem, but the team told me to continue because rain was supposed to come.
“But we crashed again, I feel pretty lucky I haven’t broken anything.
Race winner Bagnaia added: “This result gives us the right motivation before we start the summer break.”
Quartararo’s lead over Espargaro has been cut to 21 points as the championship heads to Silverstone in August.
Just one point separates the top three in the Moto2 World Championship after Red Bull KTM Ajo’s Augusto Fernandez picked up his second win in a row.
The Spaniard moves into joint first in the series with Celestino Vietti, who finished fourth with Ai Ogura one point further back, coming through from 16th to claim second, with pole-sitter Jake Dixon completing the podium. British star Dixon claimed the final podium place for Aspar GasGas.
“It was a really strange race at the beginning,” said Dixon.
“I had a lot more grip at the end of the race...the team gave me a bike good enough to win today but circumstances weren’t quite there.
“My time is coming and I’m feeling better and better each weekend.”
Sterilgarda Husqvarna’s Ayumu Sasaki claimed his maiden Moto3 World Championship win at Assen.
From pole position, the Japanese rider had opened enough of a gap as the pack headed for the finish line to take victory from Aspar GasGas team-mates Izan Guevara and Sergio Garcia.
Sasaki’s team-mate John McPhee recovered from 18th on the opening lap to be in contention of a podium. Unfortunately, McPhee was involved in a three-rider crash on the final lap after rookie David Muñoz, who led early in the race, made a big move taking down McPhee and Jaume Masia.