Alex Marquez survived a brief wobble to seal victory in the Dutch Moto3 Grand Prix at Assen, having pulled away from his team-mate Alex Rins.
The rain held off but a mid-race concentration lapse led to a wobble for Marquez, allowing fellow Estrella Galicia 0,0 rider Rins to catch and challenge briefly before pulling away for his first ever sequence of back-to-back wins.
Rins later found himself in a battle with Miguel Oliveira, who impressed by moving his way into contention from 13th on the grid. However a classic Assen pass by Rins in the closing corners gave second to the Spaniard.
Third place gave Mahindra and Oliveira their first podium finish of the season.
Alexis Masbou led the battle for the remaining places, a best finish at Assen for the Ongetta-Rivacold rider with fourth at the line.
With nothing to choose between fourth and tenth it was Niccolo Antonelli next across the stripe for the Junior Gresini Go&Fun Moto3 team, the highest placed KTM in fifth. It is the Italians first points finish since Qatar.
Efren Vazquez had to settle for sixth for SaxoPrint-RTG narrowly outrunning Team Calvo's Isaac Vinales in seventh.
Danny Kent equalled his best finish of the year as he fought to eighth on the Husqvarna. Brad Binder (Ambrogio Racing)and fellow Briton John McPhee (SaxoPrint-RTG) completed the top ten finishers.
Also in the points were Jakub Kornfeil in twelfth for Team Calvo, while Dutch wild-card Jasper Iwema was the best of the home riders in 13th on his KRP Abbink Racing FTR KTM entry.
Matteo Ferrari was 13th for San Carlo Team Italia, Zulfahmi Khairuddin 14th for Ongetta-AirAsia with the final point scored by Phillipp Oettl for Interwetten in 15th.
The opening laps saw drama as over just a handful of corners as Enea Bastianini fell after being hit by Efren Vazquez.
Romano Fenati saved his Sky Racing VR46 bike by running through the chicane to end the lap 30th, then moments later Jack Miller lost the front of his Red Bull Ajo, initially stuck under his bike in an effort to keep the KTM running. He rejoined to fall again.
Fenati then hacked through the pack pulling back multiple places every lap, setting a new in-race lap record as he reeled in the chasing group, only to crash after hitting the rear wheel of Karel Hanika.
Fenati rejoined for 18th. Hanika crashed himself just a lap later after appearing to receive contact from behind again.
This means The Australian maintains his slim championship lead of seven points as neither of the title leaders scored a point in the Netherlands.
The result also puts both the Estrella team-mates into the title hunt. Marquez win leaves him on equal points with second place Romano Fenati on 110, with Rins just behind on 107.
Niklas Ajo, who was already racing with a dislocated shoulder from his Catalunya save and and a left hand contusion picked up in his warm-up crash, appeared to be the victim of contact from Isaac Vinales, another heavy crash for the Finn ending his race.
There was also drama at the final chicane on the final lap as Luca Grunwald, Juanfran Guevara and Alessandro Tonucci all collided while fighting for the final points.
Grunwald received a standing ovation from the crowd as he pushed his Kiefer Racing bike over the line for 28th place. He did not finish last as Hafiq Azmi was classified as finishing one lap behind.
Francesco Bagnaia was declared unfit to race and did not start after sustaining a left wrist fracture in warm up.