AC Milan moved seven points clear at the top of the Serie A after beating Roma 2-1 on Saturday.
Pablo Osvaldo gave Roma the lead against the run of play at the end of the first half but Zlatan Ibrahimovic leveled from the spot after Daniele De Rossi handled in the area.
The game seemed to be heading for a draw before Ibrahimovic scored again seven minutes from time to take his tally for the season to 22, including seven in the past four league games.
Elsewhere, Udinese rescued a point in a 1-1 draw at Palermo but lost momentum in the race for third place.
Second-placed Juventus hosts Inter Milan on Sunday.
The one sour note of Milan's match was Thiago Silva leaving the pitch in the 10th minute clutching his right thigh. The defender was a doubt before the game and faces a race against time to be fit for the Champions League quarterfinal against Barcelona on Wednesday.
Thiago Silva left the stadium on crutches and Milan coach Massimiliano Allegri believes it will be "impossible" for him to recover in time.
Roma took a surprise lead a minute from halftime when a Milan clearance fell straight to De Rossi, whose shot was turned in by Osvaldo.
Milan leveled in the 53rd minute after Massimo Ambrosini's shot hit De Rossi's arm and Ibrahimovic stepped up to fire home his eighth penalty of the season.
Ibrahimovic came close to giving Milan the lead in the 71st when he raced into the right side of the penalty area but Stekelenburg pulled off a great save with his feet to deny the Sweden striker.
Milan went even closer when Abbiati's long goal kick was headed on first by Kevin-Prince Boateng and then by Ibrahimovic before Sulley Muntari controlled it and unleashed a fierce volley that rebounded off the crossbar.
However, Milan scored a deserved winner after Ibrahimovic raced past Simon Kjaer and onto a long ball from Muntari. Ibrahimovic lifted the ball over Stekelenburg and headed it in much to the home fans' delight.
"I've had a more than perfect campaign," Ibrahimovic said. "I feel well physically and mentally, I feel well during every game. I've played almost every one, apart from those when I was banned. I'm feeling good thanks to everyone. Now it's an important period for us. I'm thinking about my team, without them it's impossible to do what I do. If they're happy, I'm happy. If they're good, I am too. That's how Ibra works."
In Sicily, Fabrizio Miccoli almost gave Palermo an early lead with a fierce free kick which Udinese goalkeeper Samir Handanovic did well to keep out at full stretch.
The Palermo captain did put his side in front in the 31st when he lashed Edgar Barreto's through ball into the bottom right corner from 15 yards out.
Udinese upped the ante after Palermo's goal and almost leveled eight minutes from time when Antonio Di Natale beat the offside trap and controlled Giampiero Pinzi's long ball well but, one-on-one with the goalkeeper, he rolled his effort wide of the left upright.
However, the equalizer came two minutes later. Gabriel Torje found fellow substitute Roberto Pereyra, who raced into the area before cutting it back for Torje to drill into the bottom left corner.