Mercedes junior Esteban Ocon held on to become the 2015 GP3 champion, denying rival Luca Ghiotto in a final showdown that saw Alex Palou take his first series victory.
Ocon, frustrated at a penalty that had stopped him from securing the crown yesterday, passed Ghiotto at the start - the duo making contact in the process - and went on to confirm his title.
Having lined up in fifth, Ocon got a good launch and tried to thread the needle between Ghiotto and Matt Parry ahead of him.
The former tried to shut the door and Ocon, in a move to avoid crashing into Parry, moved over on Ghiotto, the two cars colliding and shedding debris, but escaping largely intact, with Ghiotto also slipping behind Emil Bernstorff.
Ocon then stuck to the inside of Parry into Turn 1, clashing with the Briton, who would end up having to pit with damage on Lap 2.
However, Ghiotto kept himself in the title hunt, re-passing Bernstorff and then working his way around the ailing car of Parry to put himself right behind Ocon.
Up ahead of them, meanwhile, poleman Palou had nailed the start and began pulling away from second-placed Antonio Fuoco at a rapid rate.
With the hectic opening lap out of the way, the race settled into a rhythm, with no further changes in the points-scoring top eight for the rest of the race.
Ghiotto, sticking with Ocon in the early laps, eventually dropped off and came under pressure from Jimmy Eriksson.
And with Palou winning by 4.4s over Fuoco, a third-place finish proved more than sufficient to see Ocon crowned champion.
Ghiotto took the flag in fourth, ahead of Eriksson, Bernstorff, Marvin Kirchhofer and Pal Varhaug.
|1||Alex Palou||Campos Racing||27'46.982|
|3||Esteban Ocon||ART Grand Prix||5.372|
|5||Jimmy Eriksson||Koiranen GP||7.694|
|6||Emil Bernstorff||Arden International||8.245|
|7||Marvin Kirchhofer||ART Grand Prix||9.526|
|8||Pal Varhaug||Jenzer Motorsport||10.058|
|10||Kevin Ceccon||Arden International||15.434|
|11||Ralph Boschung||Jenzer Motorsport||16.083|
|12||Matevos Isaakyan||Koiranen GP||16.814|
|13||Alex Fontana||Status Grand Prix||18.190|
|14||Matheo Tuscher||Jenzer Motorsport||19.912|
|15||Seb Morris||Status Grand Prix||22.839|
|16||Sandy Stuvik||Status Grand Prix||26.239|
|19||Alfonso Celis||ART Grand Prix||30.825|
|20||Konstantin Tereshchenko||Campos Racing||31.472|
|21||Zaid Ashkanani||Campos Racing||32.028|
|23||Alex Bosak||Arden International||46.431|
|24||Matt Parry||Koiranen GP||1'21.154|