Mihai Marinescu claimed his first ever F2 win at Monza, while Mirko Bortolotti all but wrapped up the 2011 title by finishing runner-up.
Starting from pole, the Romanian lost the lead to Alex Brundle on the run down to the first corner but retook it one lap later heading into Turn 1 and from then on was never seriously challenged.
"I've done a lot of things differently since Austria, starting with the preparation for the weekend itself and then a different approach to the whole weekend," Marinescu said. "It looks like it paid off."
Brundle ran a secure second for much of the race, but came under serious pressure from Bortolotti once the Italian had worked his way past Ramon Pineiro in third.
After defending for several laps, Brundle succumbed to Bortolotti on the final lap, the championship leader jinking to the right to pass Brundle on the final approach to the second chicane.
The result gives Bortolotti a 68-point lead over Christopher Zanella, meaning he can only be overhauled if Zanella wins the remaining three races and Bortolotti fails to finish every time. Championship victory is therefore likely to follow in the second and final race at Monza.
Zanella's hopes of finishing higher were dented by resolute defending from Pineiro, who finished little more than 1s behind Brundle in fourth.
Tobias Hegewald beat compatriot Thiemo Storz to take sixth, ahead of Jack Clarke, Mikkel Mac and Luciano Bacheta. It was an unhappy race for Miki Monras, who finished 17th and slipped to fifth in the championship, behind Marinescu, as a result.
Results - 21 laps:
Pos Driver Time/Gap 1. Mihai Marinescu 35m41.618s 2. Mirko Bortolotti + 5.411s 3. Alex Brundle + 6.114s 4. Ramon Pineiro + 7.676s 5. Christopher Zanella + 8.655s 6. Tobias Hegewald + 19.576s 7. Thiemo Storz + 22.622s 8. Jack Clarke + 24.320s 9. Mikkel Mac + 31.739s 10. Luciano Bacheta + 34.480s 11. Kelvin Snoeks + 37.227s 12. Plamen Kralev + 45.760s 13. Benjamin Lariche + 48.402s 14. James Cole + 1m01.566s 15. Parthiva Sureshwaren + 1m03.662s 16. Maxim Snegirev + 1m21.405s 17. Miki Monras + 2 laps Retirements: Sunghak Mun 16 laps Julian Theobald 1 lap