Lazio took the Rome Derby spoils with a 3-0 win over AS Roma on Saturday that keeps them in the race for the Champions League places in Serie A.
Caicedo put Lazio in front after 12 minutes when he latched on to Joaquin Correa's through ball to round goalkeeper Robin Olsen and tap into an empty net.
However, Lazio doubled their lead when Correa raced through on goal and was hauled down by Federico Fazio to allow Immobile, who had started on the bench after struggling with a muscle injury, to convert the resulting penalty with 17 minutes remaining.
The points were secured when substitute Cataldi fired in from the edge of the area with a minute left on the clock.
Things got even worse for Roma in stoppage time when Aleksander Kolarov, a former Lazio player, was sent off after receiving a second yellow card for a challenge on Immobile.
The result lifts sixth-placed Lazio to 41 points, three points behind Roma in fifth and six behind Inter in the fourth and final Champions League spot.