Roma looked stunned as Lazio kept committing plenty of players forward, and the pressure told as Luis Alberto swept home a well-taken second in the 23rd to double the advantage.
After the break, Roma still offered little in attack and Luis Alberto's second put the game to bed in the 67th minute and made sure of a win that takes Lazio two points off the top four on 31 from 18 games before the rest of the weekend matches.
Roma remain in third place on 34 points, three behind second-placed Inter Milan and six adrift of leaders AC Milan, after their first defeat in their last five league games.
"For us this year it was very important to win as we haven't been doing our best in the league," Luis Alberto told Sky Sport Italia. "But in recent weeks we have been a different team.
"We have taken a step forward by winning against the big teams, but we must not lose concentration against the others."
Despite progressing from the Champions League group stage with an unbeaten record, Lazio's league form has not been as impressive. However, back-to-back wins before the derby clash boosted their confidence.
On Friday they dominated their city rivals, with Roma's backline all over the place as Ibanez gifted Immobile an opening for Lazio's first goal.
Ibanez was again at fault as he allowed Manuel Lazzari to skip past him before the Lazio winger set up Luis Alberto for the second, with Roma unable to get a foothold in the match at all.
Luis Alberto became the first player to score two or more goals in a home Rome derby in Serie A since Roberto Mancini in November 1998.