The reigning champion, the only man to take the superbike crown three times, led the first race from start to finish and won by four seconds ahead of his second-placed Ducati team-mate, Troy Corser.
The Australian Corser started on pole and led the second race for six laps until Fogarty slipped past. The 33-year-old Briton then pulled away to win by five seconds after setting a record lap time for a superbike race here.
Fogarty has won 10 races this season and has 413 points - well above the 351.5 that it took to win the championship last year - while Corser has 342. The only other rider in contention is American Colin Edwards with 323.
"One hand's on it but it's not over until I've got it with two hands," Fogarty said of the title.
In Imola, Spain's Alex Criville won the 500cc San Marino Grand Prix yesterday to chalk up his sixth victory of the season and tighten his grip on the world championship title.
The 250cc category was won by Italy's Loris Capirossi, who shrugged off the effects of a potentially fatal wasp sting in qualifying practice on Saturday to claim his third victory of the season.
The Italians also dominated the 125cc race where Marco Melandri recorded his third consecutive victory.