Juventus took a major step toward a seventh straight Serie A title on Sunday as it beat Sampdoria 3-0 after Napoli was held to a 0-0 draw at AC Milan.
Douglas Costa changed the game when he came on for the injured Miralem Pjanic, providing three assists for Mario Mandzukic, Benedikt Hoewedes and Sami Khedira.
Juventus moved six points clear of Napoli with six matches remaining — including the two sides playing each other.
"We have to thank Pjanic for getting injured because maybe at that moment I wouldn't have changed things," Juventus coach Massimiliano Allegri joked. "Douglas and (Gonzalo) Higuain are two players who I wanted to use to change the match. I chose the Brazilian to stretch Samp."
Roma hit the woodwork twice but drew 0-0 against 10-man Lazio in an intense derby match which was crucial for both teams' Champions League chances.
The top four from Serie A qualify for Europe's premier club competition. Roma and Lazio are third and fourth, respectively, on the same number of points. They are one point above fifth-place Inter Milan, which drew 0-0 at Atalanta on Saturday.
Juventus was looking to bounce back from the disappointment of Wednesday's Champions League exit to Real Madrid, decided by a stoppage-time penalty in the second leg when seconds away from forcing extra time at 3-0.
Allegri had mixed feelings about Sunday's win.
"Is it a decisive step toward the title? Absolutely not. But it was important to win after Madrid and the guys were good because it wasn't easy after such a tiring match," Allegri said.
Juventus struggled to find a way through the Samp defense and the visitors almost took the lead but Gianluigi Buffon, who was sent off midweek, managed to parry a close-range header from Fabio Quagliarella.
Pjanic limped off two minutes before the break and was replaced by Douglas Costa who had an instant impact as he whipped in a cross for Mandzukic to volley in under the bar.
Juventus doubled its lead on the hour. The ball was passed from the right to the left of the penalty area and Douglas Costa set up a diving header from an unmarked Hoewedes on only his second match for the club.
Douglas Costa was again decisive 15 minutes later with another cross for Khedira to fire into the bottom left corner.
The Brazil midfielder almost capped his performance with a goal but fired narrowly wide of the left post late on.
Rossoneri goalkeeper Gianluigi Donnarumma made history as the youngest ever player to reach 100 Serie A appearances, at 19 years, 1 month, 21 days, and he proved decisive in denying Napoli a last-gasp winner.
It was a strange match for Napoli goalkeeper Pepe Reina, who has agreed a free transfer to Milan at the end of the season.
Reina was immediately called into action against his future teammates, fingertipping an effort from Giacomo Bonaventura around the base of the post.
Lorenzo Insigne went close to giving Napoli the lead 10 minutes before halftime, weaving his way through defenders before curling an effort inches wide of the right post.
Milan thought it had taken the lead four minutes later but Mateo Musacchio was offside when he fired in a rebound after Reina had parried Hakan Calhanoglu's powerful effort.
The match continued to be open after the break, with both sides seeking the win they needed for their respective ambitions.
Napoli came agonizingly close to snatching a stoppage-time winner as Arkadiusz Milik had time and space to control before shooting from six yards but Donnarumma pulled off a stunning save to send the ball around his left post.
There were no goals but plenty of chances at the Stadio Olimpico, especially in the closing stages.
Roma had the best opportunity of the first half when Bruno Peres' effort crashed off the left post.
The match opened up after Lazio defender Stefan Radu was sent off following a second booking 10 minutes from time.
Despite the numerical disadvantage, Lazio almost took the lead shortly after but Adam Marusic hesitated in a good position and Stephan El Shaarawy's tackle deflected the ball narrowly wide of the left post.
Edin Dzeko had three great chances to snatch the win for Roma in the space of a minute but he had one effort saved, hit the bar with the second and sent the third wide.
Fiorentina remained two points behind Milan and the final Europa League spot after a 0-0 draw at home to relegation-threatened Spal ended its six-match winning run.
Spal inched a point clear of the bottom three after its seventh match unbeaten.
Sassuolo moved four points above the relegation zone after drawing 2-2 against bottom side Benevento, which picked up its first point away from home.
Hellas Verona lost 2-0 at Bologna and is now three points from safety.