Anthoine Hubert has taken the last GP3 title in Abu Dhabi as his title rival Nikita Mazepin was given a penalty, while Leo Pulcini won the weekend's opening race.
Campos Racing driver Pulcini made a fantastic getaway, but had to wait until lap two of 18 for the lead as he dived down the inside of Mazepin into Turn 8, with DRS proving powerful.
Mazepin retook the lead two laps later, but on lap six Pulcini elbowed his way ahead. Mazepin attempted to fight back at Turn 11, at the end of the second DRS zone on the circuit.
But Mazepin overshot the corner and went into the run off, and he failed to go around the bollard at the corner exit.
The stewards awarded him a 10-second penalty, which dropped him to fifth although he was second on the road.
Pulcini kept Mazepin at arm's length after that for a second win in a season filled with bad luck for the Italian.
Hubert took third, after being passed on the last lap by David Beckmann, but he knew the title was safe even then. His team ART had already sealed the teams' title at the last round in Sochi.
Beckmann jumped ART team-mates Jake Hughes and Callum Ilott at the start, with all three swapping positions throughout the encounter.
Beckmann then set off with three laps to go and hunted Hubert for another brilliant finish. He would have fought for the title had he started the year with Trident, after a mid-season switch from Jenzer.
Ilott held on for fourth as a penalty-sunken Mazepin slotted in behind.
Hughes dropped off late on, passed by Giuliano Alesi in the closing stages.
Behind Alesi and Hughes, Juan Manuel Correa rose two positions to seal eighth and the revesed-grid pole for tomorrow's sprint race.
Simo Laaksonen and a Tatiana Calderon - who started 14th - sealed the top 10.
GP3 merges with European Formula 3 to create the FIA Formula 3 Championship next year, meaning Hubert has the honour of being the last GP3 champion.
Race one result
|1||Leonardo Pulcini||Campos Racing||18||36m04.077s|
|3||Anthoine Hubert||ART Grand Prix||18||10.360s|
|4||Callum Ilott||ART Grand Prix||18||11.156s|
|5||Nikita Mazepin||ART Grand Prix||18||11.481s|
|7||Jake Hughes||ART Grand Prix||18||16.729s|
|8||Juan Manuel Correa||Jenzer Motorsport||18||17.110s|
|9||Simo Laaksonen||Campos Racing||18||17.512s|
|10||Tatiana Calderon||Jenzer Motorsport||18||17.804s|
|13||Jannes Fittje||Jenzer Motorsport||18||21.523s|
|14||Richard Verschoor||MP Motorsport||18||22.728s|
|15||Gabriel Aubry||Arden International||18||24.169s|
|16||Sacha Fenestraz||Arden International||18||26.043s|
|17||Devlin Defrancesco||MP Motorsport||18||28.055s|
|18||Diego Menchaca||Campos Racing||18||32.591s|
|19||Jehan Daruvala||MP Motorsport||18||39.718s|
|20||Joey Mawson||Arden International||18||1m09.610s|