Sebastian Vettel survived a collision with Valtteri Bottas to snatch second place at the Hungarian Grand Prix, but Lewis Hamilton's victory extended his lead in the drivers' standings to 24 points.
The Ferrari driver slipped from first to third due to a poorly executed pit stop, but he made contact with Bottas at turn two with five laps remaining in an incident that was noted by race stewards and saw the Mercedes driver slip behind Kimi Raikkonen.
Bottas had already done enough to keep Vettel, who crashed out from first at last weekend's German Grand Prix, away from Hamilton, as the defending champion matched his haul of six triumphs in Canada and the United States to deal another blow to the German's championship hopes.
Wet conditions in qualifying gave teams a free pick of tyres to start the race, with Hamilton starting on supersofts and Vettel on the harder compound.
Mercedes kept the front row locked out in the early stages, but Vettel assumed the lead when Hamilton dived into the pits after 25 laps.
The German built a handsome advantage but was slowed down by backmarkers as his first stint came to an end, and issues with changing his front-left tyre saw him return to the track behind Hamilton and Bottas.
Vettel controversially got past Bottas to take second ahead of Raikkonen, with race officials deciding to take no further action, before Mercedes' number two made contact with the impressive Daniel Ricciardo and finished fifth.
But Hamilton faced no such difficulties as he cruised to his fifth win of the season and second in succession.