For the Eagles, it's three derby wins on the bounce, while the Giallorossi slip to a third defeat in four games.
Antonio Candreva's powerful free-kick cancelled out Erik Lamela's header, before Mirsolav Klose and Stefano Mauri put Lazio in control. Substitute Miralem Pjanic pulled one back to set up a nervous finale.
Daniele De Rossi was shown a straight red card in first half stoppage time, for swinging an arm into Mauri's face. The Lazio captain joined him in the stands five minutes from the end after a second booking.
Thunder and lightning put paid to the floodlights, as the overcast Olimpico was plunged into darkness in the opening minutes.
From the resulting corner, Totti's pinpoint cross met the head of the unmarked Lamela to give the Giallorossi the lead, after nine minutes. It was Lamela's eighth strike of the season. The frontman has now hit the net in six consecutive games, surpassing Totti's feat of five.
Lazio were affording Totti too much space in the early stages, and he nearly punished them, forcing Marchetti to pull off two consecutive saves within a minute.
It took Lazio over 20 minutes to wake up and get to grips with the game. Cristian Ledesma saw Mauro Goicoechea off his line and tried a quick free-kick, but the ball got caught in the puddles and Alvaro Gonzalez was unable to pounce.
Roma's young custodian was called into action midway through the first half to palm Klose's header wide. Gonzalez saw a shot deflect wide, then as we passed the half hour mark, Hernanes sent a free-kick into the stands, and Abdoulay Konko headed just over as Lazio continued to press.
Candreva drew the sides level ten minutes before the break, drilling a free-kick from 35 yards into the net. Goicoechea misjudged the flight of the ball and ended up flapping it into the net with his hands.
The equaliser briefly woke Roma up. Five minutes before the break, Marchetti had to be at full stretch to tip Totti's cross-turned-shot over the bar.
Lazio quickly went on the counter-attack with Candreva. The winger laid the ball off to Klose, who took a touch and drilled wide from the edge of the box.
The German went one better with his next chance. Roma allowed Hernanes to run with the ball, and when his shot hit a puddle, Klose was on hand to pick the ball up in the box and smash it underneath Goicoechea. The veteran marksman kept up his record of scoring in every Rome derby in which he has played, taking his tally to three in three games.
With yellow cards flying around, De Rossi made Roma's second half task that much harder when he had his Mike Tyson moment of madness. There was no argument with the dismissal.
Lazio were gifted a third goal straight after the restart. Mauri picked up a loose Ivan Piris header to step into the box and fire a shot past Goicoechea.
Goicoechea did well to frustrate Hernanes and Mauri as Lazio capitalised on the one man advantage.
Roma had their moments. Marchetti had to rush off his line to stop Pablo Daniel Osvaldo getting on the end of a Totti high ball. Then, on 66 minutes, Osvaldo sent a free header wide, when he should have made Marchetti work.
Goicoechea was at full stretch to guide Cristian Ledesma's shot around the post, before parrying a Hernanes drive to safety. The Brazilian threatened once more, waltzing past Piris, only to see a square ball cut out by the Roma defence.
On 72 minutes, Marquinho cut into the box to curl over, with the ball dipping a bit too late for it to finish underneath the bar.
Nine minutes later, Marquinho tested Marchetti from range with a shot right down his throat.
With the game seemingly over, Mauri was given a second yellow for needlessly handballing. Amazingly, the dismissal is the seventh in just four derby games.
From the resulting free kick, Pjanic saw Marchetti off his line and drilled a high ball from distance into the back of the net. The Lazio keeper anticipated a cross, but was caught cold and left red-faced as he was left scrambling. Pjanic didn't celebrate and looked to have given up the fight.
However, there was one final scare. In the dying seconds, Michael Bradley hoofed a hopeful ball into the box. Both Marquinho and Osvaldo cancelled each other out as they both tried to run onto the pass and the ball ended up in the side netting.
Lazio: Marchetti; Konko, Biava, Dias, Lulic (Radu 61); Ledesma; Candreva (Cana 83), Gonzalez, Hernanes (Brocchi 76), Mauri; Klose
Roma: Goicoechea; Piris, Marquinhos, Burdisso, Balzaretti; Bradley, De Rossi, Florenzi (Marquinho 63); Lamela (Tachtsidis 46), Osvaldo, Totti (Pjanic 71)
Sent off: De Rossi 45 (R), Mauri 85 (L)
Goals: Lamela 9 (R), Candreva 35 (L), Klose 43 (L), Mauri 47 (L), Pjanic 86 (R)