Maurizio Sarri got the better of Jose Mourinho as Lazio claimed the bragging rights with a much-needed victory over Roma in the Derby della Capitale.
Sergej Milinkovic-Savic gave Lazio the lead with a brave header after 10 minutes, getting flattened by Roma goalkeeper Rui Patricio - who was caught in no man's land - in the process.
Pedro - having transferred from Roma to Lazio just a month earlier - doubled Lazio's lead nine minutes following a rapid counter-attack, becoming just the third player to score in the derby for both clubs.
Mertens nets sensational brace as fabulous Napoli honour Maradona
That early double blow shook Mourinho's men into action, and when Nicolo Zaniolo headed a corner delivery onto the post, that should have served as a warning to Lazio.
However, they failed to learn their lesson as four minutes before the break, Roger Ibanez rose highest to glance in Jordan Veretout's corner.
As Roma pressed for a leveller after the restart they were hit with a sucker-punch when Luis Alberto's through-ball released Ciro Immobile on the counter, he drew the goalkeeper out of position and laid on Felipe Anderson for a simple tap-in.
Mourinho's side were handed another lifeline with 20 minutes remaining when Zaniolo won what appeared to be a soft penalty, with Veretout converting from the spot. But Lazio held on to end a run of four games without victory, moving up to sixth in the process, one point behind Roma who remain fourth.
TALKING POINT - Memorable derby day gives Sarri breathing space, frustrates Mourinho
The wild celebrations from the Lazio bench after the referee blew his whistle said it all - this was a must-win for Sarri after a concerning spell of form, which saw them already eight points adrift of leaders Milan. Criticism of his style of play and tactics had been growing in volume, and a loss against their arch-rivals may have been too much to bear. But it was evident he had done his homework on his in-form opponents as his side came flying out of the traps, scoring twice in 20 minutes and giving Mourinho's men a mountain to climb. And while Roma made a real fist of a comeback, ultimately, the incline was too steep.
In contrast to Sarri's delight at full-time, Mourinho was clearly aggrieved. It was a tough night for the Portuguese, whose side's defending was calamitous throughout. Having watched Pedro, the man he banished to the reserves before selling, score Lazio's second, his frustration had been building, and he was booked for dissent as Lucas Leiva escaped a second yellow for a clear foul. Conducting his team talk on the pitch to his embarrassed players, he let them know exactly what he thought.
Just another night in a crazy Serie A season!
MAN OF THE MATCH - Felipe Anderson (Lazio)
Too often the 27-year-old frustrates, but when Felipe Anderson is in the mood, he can be a real handful - as he was tonight. After setting the tempo early with a lovely assist, he scored the goal that put Lazio out of reach.
Lazio: Reina 8, Marusic 6, Felipe 6, Acerbi 6, Hysaj 6, Milinkovic-Savic 8, Leiva 6, Luis Alberto 7, Pedro 7, Immobile 7, Felipe Anderson 9*.. subs: Cataldi 5, Akpa Akpro 5, Muriqi N/A,
Roma: Rui Patricio 4, Karsdorp 5, Mancini 6, Ibanez 7, Vina 5, Cristante 6, Veretout 7, Zaniolo 7, Mkhitaryan 6, El Shaarawy 5, Abraham 5.. subs: Shomurodov 5,Zalewski N/A, Smalling N/A
10' - GOAL! Lazio 1-0 Roma (Sergej Milinkovic-Savic): Lazio have lift-off! A beautiful cross is delivered by Felipe Anderson and it's right on the money for Milinkovic-Savic. He meets it with a brave header and the ball nestles into the net - but I'm not sure how much he knows about it as he's clattered by Rui Patricio in the process!
19' - GOAL! Lazio 2-0 Roma (Pedro): It had to be Pedro! He scores against his former club to double Lazio's advantage following a rapid counter attack. It comes from Roma's half-hearted appeal for a penalty after Zaniolo goes over inside the box. The referee allows play to continue, as Immobile drives forward, looks up and picks out the run of Pedro. Instead of smashing it, he shoots precisely into the bottom corner.
27' - Zaniolo hits the post! The Roma forward climbs highest to meet the corner delivery at the far post and he heads it downwards onto the post! Should have scored!
41' - GOAL! Lazio 2-1 Roma (Roger Ibanez): After hitting the post from an earlier corner delivery, Roma halve the deficit from a set-piece. Veretout floats in a corner and a glancing header from Ibanez leaves Reina rooted to the spot!
62' - GOAL! Lazio 3-1 Roma (Felipe Anderson): Lazio restore their two-goal advantage! It's a textbook counter-attacking goal! A lovely weighted ball from Luis Alberto releases Immobile. He draws the goalkeeper out of position and coolly rolls it to Felipe Anderson, who slots it home.
67' - Penalty to Roma! It's a hugely controversial decision by the referee! Zaniolo goes down inside the box after missing his connection with a shot under pressure from Akpa-Akpro. I'm not sure how much contact there was, but VAR isn't going to overturn it!
69' - GOAL! Lazio 3-2 Roma (Jordan Veretout, pen): Veretout makes no mistake with his spot-kick, sticking it into the bottom left corner.
- Jose Mourinho is the first AS Roma manager to lose his first Serie A Roma’s derby since Luis Enrique in 2011.
- Pedro is the third player to score in the Roma's derby in Serie A with both clubs, after Arne Selmonsson and Aleksandar Kolarov.
'I don’t want to stop until I'm kicked out' - Ibrahimovic on 'secret to my longevity'
'I don't want disciplinary action against me' - Mourinho tight-lipped after Roma lose to Milan