Icardi, who has eight goals in all competitions this season, netted in each half at the Stadio Olimpico, either side of Marcelo Brozovic’s 41st-minute strike.
Having registered a sixth consecutive league win, Luciano Spalletti’s men moved up to second in the table, level on points with third-placed Napoli and six behind leaders Juventus.
Lazio are fourth, four points worse off than Inter and Napoli.
After both sides had early chances, the opener came in the 28th minute when Icardi sent a shot past Thomas Strakosha.
Brozovic then doubled the hosts’ advantage with a left-footed effort, controlling the ball outside the area before firing into the bottom corner of the net.
Early in the second half substitute Danilo Cataldi and Sergej Milinkovic-Savic made unsuccessful attempts on goal as Lazio tried to hit back.
Samir Handanovic then denied Adam Marusic, before Icardi wrapped things up with his second in the 70th minute.
Substitute Borja Valero played a fine pass to the Argentina international, who cut inside Stefan Radu and slotted the ball in.