Edin Dzeko hit a brace and former AC Milan striker Stephan El Shaarawy added a third as Roma secured a 4-1 win that sent the capital side back up to second in Serie A Sunday.
Roma travelled to the San Siro under plenty of pressure after Napoli's 3-1 win over Cagliari on Saturday took the southerners up to second to sit eight points behind leaders Juventus.
Lazio also kept Luciano Spalletti's men on their toes with a 7-3 thrashing of Sampdoria that moved them to within three points of third, and a possible Champions League qualifying place.
But Roma, who have finished runners-up eight times since they last won the scudetto in 2001, were in no mood to give up their chance of securing the league's second automatic Champions League qualifying spot.
"We had to take the bull by the horns," Spalletti told Mediaset when asked about last week's 3-1 derby defeat to Lazio.
Dzeko had the visitors 2-0 up by the 28th minute, the Bosnian taking his league tally to 27 goals to move two goals clear of Torino's Andrea Belotti at the top of the scoring charts.
Milan reduced the deficit in the 76th minute when Mario Pasalic dived low to meet the ball as it was knocked on from a corner, beating Wojciech Szczesny at the 'keeper's back post.
But Roma hit back immediately.
El Shaaray had joined the capital club in 2015 after finding fewer opportunities in his final two seasons of a four-year spell at Milan.
And the 24-year-old made sure Milan knew what they were missing 12 minutes from the end when he beat Gianluigi Donnarumma in the Milan net with a superb curling effort from the edge of the area.
El Shaarawy refused to celebrate but minutes later punished Milan again when he found Mohamed Salah with a quickly-taken free kick down the right flank.
The Egyptian easily rounded Gabriel Paletta in the area, but after being pulled back several times by the veteran defender Salah tumbled to the ground as he prepared to pull the trigger.
The referee pointed to the spot and captain Daniele De Rossi stepped up to beat Donnarumma with a low shot that the 'keeper got a touch on.
"It's not easy to come here and score four goals, but we had 90 perfect minutes apart from the goal that we conceded," said Dzeko.
"I'm personally happy because I've worked hard all season, and that's good for my confidence. Even though the team comes first."
Earlier, Ciro Immobile hit a brace in a 10-goal thriller as Lazio secured Europa League football a week after a 3-1 romp over Roma in the city derby.
"We played great," said Lazio left-back Jordan Lukaku. "It wasn't easy to produce a repeat of our derby win, but every one of us put everything into this game."
Keita Balde scored twice for Lazio last week in a win that ruined what was Roma icon Francesco Totti's final derby as a player.
And the Senegal international fired Lazio into an early lead before winning a penalty that Immobile fired past 'keeper Christian Puggioni.
Samp reduced arrears through Karol Linetty, who tapped past Strakosha at the back post.
But Lazio netted three in succession through Wesley Hoedt, Felipe Anderson and Dutch defender Stefan De Vrij before the half-time interval before Senad Lulic then Immobile wrapped up the game after the hour.
It was the right decision as a defiant Samp reduced arrears with two goals from striker Fabio Quagliarella, one from the spot, in the closing minutes.
Elsewhere, Inter Milan stretched their winless run to seven games after succumbing 1-0 at Genoa after a 70th-minute strike by Goran Pandev.
It was Inter's third defeat on the trot, their fifth in their past seven games and left them in seventh place, nine points behind Atalanta and with virtually no chance of qualifying for Europe.
Coach Stefano Pioli rejected suggestions he could resign, saying: "I haven't seen anyone else before me do it, so I won't."