MotoGP-bound Enea Bastianini has won the 2020 Moto2 world title as Remy Gardner took his maiden race victory in the Portuguese Grand Prix finale.
Italtrans' Bastianini, Marc VDS' Sam Lowes and VR46 pair Luca Marini and Marco Bezzecchi came into the final round covered by 23 points - with Bastianini resisting huge pressure late on to take the title in fifth spot.
Marini got the holeshot from second on the grid, but lost the lead when he hit neutral at Turn 3, allowing Gardner and Bastianini to move through.
Gardner's early charge led to him opening up his gap to over a second after a handful of laps, while the injured Lowes worked his way past Marini on lap four to move into second.
Meanwhile, Bastianini was slipping down the order behind the likes of Bezzecchi, Lowes' Marc VDS team-mate Raul Fernandez and Ajo KTM's Jorge Martin.
Gardner's lead would be wiped out by lap eight, with Marini and Lowes moving ahead into Turn 1, with the VR46 rider going on to open up a lead of 1.2s.
Gardner overhauled Lowes on lap 13 into the first corner after the Briton made a mistake a few corners earlier as he seemingly began to struggle with his injured wrist.
Marini would start to come under pressure from Gardner in the latter stages, while Lowes somehow rallied to keep the pair ahead at arm's length.
Bastianini continued to engage in battle with Fernandez over fifth spot and came under immense pressure in the latter stages as Martin, Fernandez and American Racing's Joe Roberts closed up to him.
Gardner got on terms with Marini by lap 16 and pulled off his decisive overtake on the inside of Turn 3, with the SAG rider pulling clear by a second to claim his maiden Moto2 victory and take the first grand prix win for his family since his father at the 500cc British GP in 1992.
Marini did all he could to keep his title hopes alive, but the Valentino Rossi protégé - who will partner Bastianini at Avintia in MotoGP next year - ends the year in runner-up spot, nine points adrift.
Lowes' heroic effort concluded with him on the final step of the podium and third in the standings equal on points with Marini, with Bezzecchi ultimately 21 points adrift of Bastianini after finishing the race in fourth.
Bastianini held off Martin in fifth, with Roberts, Fernandez, Pons' Lorenzo Baldassarri and Petronas Sprinta's Xavi Vierge rounding out the top 10.
Porutgal Moto2 Results - 23 Laps
|1||Remy Gardner||ONEXOX TKKR SAG Team||39m35.476s|
|2||Luca Marini||SKY Racing Team VR46||1.609s|
|3||Sam Lowes||EG 0,0 Marc VDS||3.813s|
|4||Marco Bezzecchi||SKY Racing Team VR46||8.437s|
|5||Enea Bastianini||Italtrans Racing Team||8.646s|
|6||Jorge Martin||Red Bull KTM Ajo||8.899s|
|7||Joe Roberts||Tennor American Racing||8.956s|
|8||Augusto Fernandez||EG 0,0 Marc VDS||9.568s|
|9||Lorenzo Baldassarri||Flexbox HP 40||10.367s|
|10||Xavi Vierge||Petronas Sprinta Racing||11.084s|
|11||Marcos Ramirez||Tennor American Racing||11.199s|
|12||Marcel Schrotter||Liqui Moly Intact GP||16.864s|
|13||Bo Bendsneyder||NTS RW Racing GP||16.998s|
|14||Tetsuta Nagashima||Red Bull KTM Ajo||18.550s|
|15||Aron Canet||Pull&Bear Aspar Team Moto2||20.169s|
|16||Thomas Luthi||Liqui Moly Intact GP||22.918s|
|17||Lorenzo Dalla Porta||Italtrans Racing Team||27.141s|
|18||Somkiat Chantra||Idemitsu Honda Team Asia||27.303s|
|19||Stefano Manzi||MV Agusta Forward Racing||27.340s|
|20||Dominique Aegerter||NTS RW Racing GP||44.924s|
|21||Hafizh Syahrin||Pull&Bear Aspar Team Moto2||51.163s|
|-||Simone Corsi||MV Agusta Forward Racing||Retirement|
|-||Andi Izdihar||Idemitsu Honda Team Asia||Retirement|
|-||Edgar Pons||Federal Oil Gresini Moto2||Retirement|
|-||Kasma Kasmayudin||ONEXOX TKKR SAG Team||Retirement|
|-||Jorge Navarro||Beta Tools - Speed Up Racing||Retirement|
|-||Hector Garzo||Flexbox HP 40||Retirement|
|-||Nicolo Bulega||Federal Oil Gresini Moto2||Retirement|
|-||Fabio Di Giannantonio||Beta Tools - Speed Up Racing||Retirement|