Roberto Merhi claimed his third Formula Renault 3.5 win in the space of four races, finishing almost 30 seconds clear of the field in difficult conditions at the Hungaroring.
The Spaniard, who could make his Formula 1 race debut in Singapore next weekend, sythed his way from seventh on the grid to second at the start.
He then put several laps of pressure on pole-sitter Oliver Rowland, who eventually cracked when he ran deep at turn one, letting Merhi through into the lead.
Merhi then ran away at an astonishing pace up front, winning by 29 seconds.
Points leader Carlos Sainz ran well early on, gaining ten places from his disappointing grid slot of 14th to get up to fourth.
Fellow Red Bull Junior Pierre Gasly refused to do him any favours though, and Sainz had to settle for fourth, giving him a reduced margin of 26 points over Merhi.
Gasly flew in dryer conditions at the end of the race, slashing a considerable gap to Rowland. He caught his long-time rival on the last lap, and used an inside line at the final corner to beat Rowland to the line and take second.
Behind the top four, Matthieu Vaxiviere finished in fifth ahead of Will Stevens, Marco Sorensen and Norman Nato, who fell backwards after starting third.
Series debutant Esteban Ocon held off the attention of Jazeman Jaafar to take ninth.
|1||Roberto Merhi||Zeta Corse||22 laps in 42:28.622|
|2||Pierre Gasly||Arden Motorsport||+29.156|
|3||Oliver Rowland||Fortec Motorsports||+29.412|
|6||Will Stevens||Strakka Racing||+1:03.230|
|7||Marco Sorensen||Tech 1 Racing||+1:10.670|
|9||Esteban Ocon||Comtec Racing||+1:18.206|
|11||Luca Ghiotto||International Draco Racing||+1:22.959|
|12||Oscar Tunjo||Pons Racing||+1:23.797|
|13||Roman Mavlanov||Zeta Corse||+1:25.901|
|14||Sergey Sirotkin||Fortec Motorsports||+1:27.049|
|16||Meindert van Buuren||Pons Racing||+1:41.881|
|18||Cameron Twynham||Comtec Racing||+1 lap|
|19||William Buller||Arden Motorsport||+1 lap|
|Zoel Amberg||AVF||+5 laps|
|Pietro Fantin||International Draco Racing||+18 laps|
|Nicholas Latifi||Tech 1 Racing||+19 laps|
|Matias Laine||Strakka Racing||+19 laps|