A sixth straight league win for the Nerazzurri was set up by Icardi's opener, the striker showing his poacher's instinct again after his late header in last weekend's derby victory over AC Milan.
Lazio were also in good form having won three games in a row in all competitions, but when Marcelo Brozovic drilled in a fine second their hopes of a fightback were extinguished in the heavy Rome rain.
Captain Icardi struck again after the break and another victory moves Inter up to second in the table, albeit six points behind leaders Juventus, while Lazio are fourth.
Icardi missed an early chance when he arrived too late to convert Ivan Perisic's low cross, but the Inter striker broke the deadlock in the 28th minute.
Perisic chested the ball down for Matias Vecino and, when he turned the ball towards goal via a deflection, Icardi was on hand to stab home.
Thomas Strakosha saved well from Vecino but Inter doubled their lead from the resulting corner, Brozovic picking out the bottom-left corner from 25 yards after the cross was half-cleared.
Adam Marusic's powerful strike was beaten away by the otherwise untested Samir Handanovic and Inter wrapped up the points in the 70th minute.
Substitute Borja Valero slipped a fine pass through for Icardi, who cut inside and beat Strakosha for his sixth goal in four Serie A appearances.
Icardi fired a free-kick over the crossbar as he hunted a hat-trick in the closing stages, but the skipper had to settle for two goals as Inter marched on.
Spalletti's men are contenders
Luciano Spalletti has been adamant that Inter's aim is to qualify for the Champions League, which they achieved last season by winning at Lazio on the final day in dramatic circumstances, but they are emerging as the likeliest team to challenge Juve as they seek an eighth straight title.
Immobile toils for hosts
Lazio striker Ciro Immobile was in fine form coming into this game, having hit five goals in his last five Serie A appearances. But the Italy international, albeit starved of service, was unable to produce for his team as Icardi did for Inter. Immobile should have scored a late consolation but shot straight at Handanovic, summing up his poor performance.