Mercedes Formula 1 junior George Russell won the Barcelona Formula 2 feature race after four virtual safety cars, but is under investigation for throwing a drink bottle from his car.
Russell made the most of a fantastic start from fourth on the grid to take second in the early running.
Polesitter Alexander Albon got off to a terrible start and dropped down the order.
A virtual safety car beckoned for Maxi Gunther spinning Arden at Turn 1 on the first lap, and almost immediately after the VSC period had ended on lap six, Russell was into the lead.
He stretched his medium tyres to lap 25/36, by which point his advantage had been destroyed by the flying Prema of Nyck de Vries.
They pitted together and emerged in the same order as de Vries looked to have better pace.
He dummied Russell at Turn 1 on consecutive laps before another VSC, this time for a crash between Louis Deletraz and Sean Gelael on lap 28.
That VSC brought the race to a time limit rather than number of laps, and with what would be two laps to go, a desperate de Vries divebombed Russell at Turn 5, only to run wide.
A fastest lap one tour later secured the win for Russell, who stewards will now investigate.
On lap seven, Russell chucked the water vessel, which landed on the grass between Turn 4 and 5.
De Vries was almost jumped by Lando Norris late in a battle of McLaren F1 juniors.
Norris had the most dramatic of races, with a breath-taking jump from P8 to fourth on the first lap, made all the more impressive by avoiding the stalled DAMS of Nicholas Latifi in front.
He dropped back to fifth trying to pass Luca Ghiotto, and then struggled for pace.
He was slower than the frontrunners on the medium tyre despite starting on the anticipated quicker soft tyre in a bid to run an offset strategy.
Despite being on the opposite tyres to the leaders in the last stint, he was fantastic on the mediums, genuinely challenging de Vries for second at Turn 10 on the final lap, but to no avail.
Ghiotto sealed fourth having started third, while Albon could only manage fifth.
A call to pit from his team was missed by Albon and he lost places by staying out a lap too long.
He fought back to pass ART's Jack Aitken and scored fifth.
Aitken also ran the same strategy as Norris with the softs first, and looked racey despite once again having a poor start off the grid.
Sergio Sette Camara's qualifying was ruined by electrical issues but he recovered to seventh ahead of Artem Markelov.
The Russian went 32 laps without pitting and led, but had to pit after the final VSC and didn't have time to regain many positions but passed team-mate Tadasuke Makino late on.
Antonio Fuoco also had an extended stint on his medium tyres and rounded out the top 10.
Result - 36 laps
|1||George Russell||ART Grand Prix||1h02m58.902s|
|2||Nyck de Vries||Pertamina Prema Theodore Racing||1.036s|
|4||Luca Ghiotto||Campos Vexatec Racing||5.714s|
|6||Jack Aitken||ART Grand Prix||8.214s|
|7||Sergio Sette Camara||Carlin||9.830s|
|8||Artem Markelov||RUSSIAN TIME||20.857s|
|9||Tadasuke Makino||RUSSIAN TIME||23.950s|
|10||Antonio Fuoco||Charouz Racing System||25.289s|
|11||Nirei Fukuzumi||BWT Arden||29.150s|
|12||Roy Nissany||Campos Vexatec Racing||36.719s|
|13||Roberto Merhi||MP Motorsport||58.771s|
|14||Nicholas Latifi||DAMS||1 Lap|
|-||Sean Gelael||Pertamina Prema Theodore Racing||Retirement|
|-||Louis Deletraz||Charouz Racing System||Retirement|
|-||Ralph Boschung||MP Motorsport||Retirement|
|-||Maximilian Gunther||BWT Arden||Retirement|
|-||Santino Ferrucci||Trident||Not started|