Japanese rider Haga and team-mate Michel Fabrizio took a win apiece as Yamaha rider Ben Spies, Haga’s principal title rival, endured a frustrating day at the Bologna track.
Haga now holds a three-point lead at the top of the standings with just two rounds of the season remaining.
The 34-year-old had come into the weekend trailing Texan Spies by 18 points, but he soon made inroads into that advantage by taking a well-judged win in race one.
Aprilia’s Max Biaggi led from the start and had looked set to give the Italian marque their second win since their return to the championship at the start of the season.
But Haga passed the former MotoGP rider with just four laps remaining to take the win, his first since the South African round at Kyalami back in May. Biaggi finished second as he overtook Fabrizio at the final chicane.
Spies could only manage fourth as he struggled to match the pace of the Ducatis and Aprilias, with his points lead trimmed to six.
Things only got worse for the American as the second race turned into a personal duel between the two factory Ducati riders with Fabrizio working his way past Haga before pulling away to take the win as he opted not to help his team-mate’s championship cause by surrendering victory.
Biaggi had to settle for fourth after Marco Simoncelli’s robust move on him into the Variante Bassa chicane slowed him up, in turn forcing Spies, who eventually finished fifth, to take a trip through the gravel in avoidance.