World champion Marc Marquez powered to victory in the Dutch MotoGP to make it eight wins in eight races this season.
The 21-year-old Honda rider started second on the grid and overtook Ducati's Andrea Dovizioso with 11 laps remaining to win by 6.74 seconds.
Marquez had trailed by four seconds at one stage after an error in wet conditions caused him to lose control and slide off the track.
The Spaniard's team-mate and compatriot Dani Pedrosa finished third.
Yamaha's Aleix Espargaro struggled from pole position and was fourth after a long battle with Pedrosa.
Marquez extended his world championship lead over Pedroso and Italian Valentino Rossi to 72 points, having won the first eight of the season's 18 races.
He is the first rider to win eight races in a row in MotoGP since Italian Giacomo Agostini in 1971.
Marquez said: "Before the race I was very nervous because I don't have much experience of racing in wet conditions.
"I started on wets, but changed to slicks and then nearly slid off on the next lap but, thankfully, I came back and pushed hard to the end."
Runner-up Dovizioso, who recorded his best result of the season, said: "Marc was much faster in normal conditions and from the middle of the race the track was normal. I had no chance to follow him after he overtook me and second place was what we expected."
Earlier on Saturday, Marquez's younger brother Alex, riding a Honda, won his second Moto3 race in a row to reduce the gap on KTM's Jack Miller at the top of the standings to just seven points.
1. Marc Marquez (Spain) Honda 43mins 29.954secs
2. Andrea Dovizioso (Italy) Ducati at 6.714secs
3. Dani Pedrosa (Spain) Honda 10.791
4. Aleix Espargaro (Spain) Yamaha 19.199
5. Valentino Rossi (Italy) Yamaha 25.813
6. Andrea Iannone (Italy) Ducati 29.003
7. Alvaro Bautista (Spain) Honda 30.882
8. Bradley Smith (Britain) Yamaha 30.985
9. Cal Crutchlow (Britain) Ducati 44.031
10. Stefan Bradl (Germany) Honda 48.662
World championship standings
1. Marc Marquez (Spain) Honda 200 pts
2. Valentino Rossi (Italy) Yamaha 128
3. Dani Pedrosa (Spain) Honda 128
4. Andrea Dovizioso (Italy) Ducati 91
5. Jorge Lorenzo (Spain) Yamaha 81