Lazio travelled to the San Siro looking for a win that would have pushed Inzaghi's team up to second.
Icardi hailed Inter's fourth win in a row, while Lazio boss Simone Inzaghi was left bemoaning second half lapses.
"A team like ours can't be conceding three goals in the space of 11 minutes," he said.
Lazio travelled to the San Siro looking for a win that would have pushed Inzaghi's team up to second five points behind Juventus.
But the visitors, who won both fixtures against Inter last season, failed to make the most of a promising opening half when Ciro Immobile and Felipe Anderson came close to scoring.
Lazio paid the price in 11 second-half minutes, first when Argentina midfielder Ever Banega pounced on a defensive mistake by Sergej Milinkovic-Savic to beat Federico Marchetti with a searing strike into the top corner.
Icardi headed Inter's second two minutes later. The Argentine moved two goals past Roma striker Edin Dzeko and Andrea Belotti of Torino in the Serie A goal standings just nine minutes later with his second of the night.
Inter remain in seventh place but their ninth win of the campaign and fourth in six games under new coach Stefano Pioli closed the gap on Juventus, who will face AC Milan in Doha for the Italian Super Cup on Friday, to 12 points.
Inter are finally on a winning run after beating Hapoel Beer-Sheva in their final Europa League group game and Icardi told Sky Sport: "That's four consecutive wins now. It's a step forwards for everyone after the results we had at the start of the season.
"If we keep on working as hard as we are, we'll get the rewards at the end of the season."
Pioli, sacked by Lazio in April after a heavy defeat to city rivals Roma, reshuffled for the visit of his old club with Joao Mario and Felipe Melo both suspended and Chilean defender Gary Medel out injured.
Lazio suffered a blow prior to kick-off when Stefan Radu pulled up in the warm-up to be replaced by Gil Patric. But the Rome team put on the early pressure.
It took just 30 seconds for Immobile to threaten an early goal, only for Inter 'keeper Samir Handanovic to block. When Senad Lulic pounced on the rebound, Danilo D'Ambrosio came to the rescue.
Inter midfielder Ivan Perisic missed one chance, but at the other end Handanovic was at full stretch to save Immobile's daisycutter with one hand.
Anderson then skipped past four players on a diagonal run into the area only to see his shot come off the leg of D'Ambrosio.
From the corner, Sergej Milinkovic-Savic nodded just over.
Lazio made a bright start to the second half.
But a messy attempt by Milinkovic-Savic to control the ball outside the area saw Banega step in, steal possession and unleash a drive that flew past Marchetti and into the top corner.
Lazio were punished again when Icardi sneaked around his marker as he waited for D'Ambrosio's cross from the right and planted a low header past the Lazio 'keeper.
Inzaghi went all-in, replacing Patric with Keita Balde on the hour. Four minutes later, the Senegal striker's angled strike in the area brought a reflex stop from Handanovic.
But any hopes of a Lazio fightback were buried on 65 minutes when Icardi moved off his marker at Banega's corner and his first-time drive sneaked inside the net.
"We crucially failed to pull level after their opening goal," said Inzaghi. "From Banega's opener, our whole game changed and that's what disappoints me."
Icardi should have had his hat-trick, but was stopped by Marchetti on 71 minutes then saw a late strike hit the woodwork.