Assen - Spaniard Marc Marquez (Honda) edged compatriots Alex Rins (Suzuki) and Maverick Vinales (Yamaha) to win the Dutch Grand Prix in Assen on Sunday.
After eight GP Marquez has now won four and enjoys a 41-point lead in the standings over Italian Valentino Rossi (Yamaha) who was fifth on the day.
"Second place is not something I usually feel good about but I'll take that for now," said the veteran Rossi, who has yet to win a single GP this season.
The race was tightly bunched almost throughout with over frequent changes of position in front of 105,000 fans in attendance at the Assen circuit known as 'the Cathedral'.
"I knew it would be difficult to get away in the race," Marquez said. "It was a crazy race especially in the straight with lots of wind."
"I decided to wait," the Spaniard explained. "Everybody had contact with everybody. I tried to manage my tyres."
Marquez made his move in the closing stages, grabbing the lead and pulling away to win by 2.269 seconds
"In last three laps I pushed with everything," Marquez said.
The winner of the last two races, Jorge Lorenzo (Ducati), who started 10th on the grid, grabbed an early lead and held it for much of the contest despite being rammed by Rossi, but he faded to seventh.
For Rins, second place was a career-best result.
"I spent my morning at the clinic for stomach problems" he said adding that it had been "a fantastic race and very difficult."
Vinales finished on the podium for only the second time this season, after Austin.
"I was here to win and I had the capacity to do it," the Spaniard said. "But I had a problem with forearm cramps that prevented me from getting good braking at the end of the straight."
Italian Francesco Bagnaia (Kalex) consolidated his grip on first place in the Moto2 World Championship as he won on the same Assen circuit.
Bagnaia started from pole position and pulled away from Frenchman Fabio Quartararo (Speed Up) to win by almost two seconds for his fourth victory of the season after Qatar, Austin and Le Mans.
In Moto3, Spaniard Jorge Martin (Honda) won to overtake Italian Marco Bezzecchi (KTM), who did not finish, in the standings.