Luca Filippi hauled himself into contention for second in the GP2 championship with a dominant win on home soil at Monza.
The Coloni driver took the lead from polesitter Charles Pic off the line, and then held on to the position despite locking up and cutting across the first chicane.
From there he controlled the race, and also came out on top of a fierce fight for fastest lap which netted him another potentially crucial point.
Pic (Addax) survived late pressure from DAMS' Romain Grosjean to take second, and he now holds the same place in the standings, just one point ahead of Filippi. Four drivers are covered by three points in that battle, with Giedo van der Garde (Addax) and Jules Bianchi (ART) also in the hunt.
Van der Garde had a day to forget, pitting to repair damage early on then receiving a drive-through penalty for cutting the first chicane. Bianchi raced his way from 19th to 11th in the early laps, then jumped AirAsia's Luiz Razia during the pitstops and took advantage of drive through penalties for Carlin's Alvaro Parente and Dani Clos (Racing Engineering) to move up to eighth place.
That result gives the Frenchman hope of overhauling Pic and Filippi, as he will start from pole in the season finale while they will share row four.
Behind the top three, Sam Bird came through the field to take fourth for iSport from 10th on the grid, while category veteran Adam Carroll took fifth for Super Nova.
Christian Vietoris (Racing Engineering) and Fabio Leimer (Rapax) were the other points finishers, just ahead of Bianchi.
Results - 30 laps:
Pos Driver Team Time/Gap
1. Luca Filippi Coloni 47m47.704s
2. Charles Pic Addax + 5.627s
3. Romain Grosjean DAMS + 6.214s
4. Sam Bird iSport + 9.992s
5. Adam Carroll Super Nova + 14.904s
6. Christian Vietoris Racing Engineering + 16.710s
7. Fabio Leimer Rapax + 18.058s
8. Jules Bianchi ART + 22.787s
9. Esteban Gutierrez ART + 28.444s
10. Luiz Razia AirAsia + 31.661s
11. Pal Varhaug DAMS + 36.000s
12. Alvaro Parente Carlin + 44.096s
13. Dani Clos Racing Engineering + 46.877s
14. Marcus Ericsson iSport + 49.690s
15. Stephane Richelmi Trident + 50.876s
16. Julian Leal Rapax + 58.003s
17. Johnny Cecotto Ocean + 1m06.275s
18. Fairuz Fauzy Super Nova + 1m10.221s
19. Rodolfo Gonzalez Trident + 1m20.119s
20. Davide Valsecchi AirAsia + 1 lap
21. Giedo van der Garde Addax + 1 lap
22. Brendon Hartley Ocean + 1 lap
Max Chilton Carlin 2 laps
Josef Kral Arden 1 lap
Jolyon Palmer Arden 1 lap
Michael Herck Coloni 1 lap