Antonio Felix da Costa won a dramatic GP3 season finale at Monza on Sunday.
The Status Grand Prix driver was in the lead train of cars throughout the race, in what turned out to be another classic slipstreaming affair.
Da Costa made his decisive move for the lead on the penultimate lap, passing James Calado (ART) at the second chicane after the Briton had just come together with Mitch Evans (MW Arden) at the start of the lap.
Calado, who had led for five laps in the middle of the race despite the slipstream effect, handed Evans the lead when he locked up and slid wide at the first corner on lap 11.
The championship runner-up then launched an attack into the same corner three laps later, but Evans tried to sneak back ahead in the middle of the chicane as Calado went wide.
Calado then clipped the second kerb which pushed him wide enough to tag Evans, putting the Kiwi out on the spot.
Da Costa then took the lead at the following corner, while Calado was given a drive-through penalty towards the end of the penultimate lap.
He did not come in, and crossed the line in second place before being given a 20-second penalty which dropped him to 14th. That left Manor's Rio Haryanto and Jenzer's Nico Muller joining da Costa on the podium.
Calado could have tied 2011 champion Bottas on points if he had won the race and set fastest lap, as the Finn hit the back of Carlin's Conor Daly into Ascari on the opening lap and was given a drive-through penalty.
Bottas still proved a point at the end of the race, as he set the fastest lap while crossing the line to come home 17th for ART.
Results - 16 laps:
Pos Driver Team Time/Gap
1. Antonio Felix da Costa Status 28m28.320s
2. Rio Haryanto Manor + 0.720s
3. Nico Muller Jenzer + 1.208s
4. Simon Trummer MW Arden + 1.935s
5. Callum MacLeod Carlin + 2.308s
6. Adrian Quaife-Hobbs Manor + 6.235s
7. Gabby Chaves Addax + 7.027s
8. Aaro Vainio Tech 1 + 7.599s
9. Tom Dillmann Addax + 9.949s
10. Lewis Williamson MW Arden + 10.128s
11. Michael Christensen RSC Mucke + 10.699s
12. Tamas Pal Kiss Tech 1 + 11.320s
13. Marlon Stockinger Atech CRS + 11.426s
14. James Calado ART + 20.397s
15. Daniel Mancinelli RSC Mucke + 23.506s
16. Maxim Zimin Jenzer + 39.759s
17. Valtteri Bottas ART + 42.707s
18. Vittorio Ghirelli Addax + 1m04.588s
19. Richie Stanaway ART + 1m05.428s
20. Christophe Hurni Jenzer + 1m34.972s
Mitch Evans MW Arden 13 laps
Nigel Melker RSC Mucke 9 laps
Nick Yelloly Atech CRS 9 laps
Leonardo Cordeiro Carlin 6 laps
Matias Laine Manor 5 laps
Zoel Amberg Atech CRS 3 laps
Ivan Lukashevich Status 3 laps
Alexander Sims Status 1 lap
Thomas Hylkema Tech 1 1 lap
Conor Daly Carlin 0 laps