Marco Verratti sat out a ban with Simone Zaza and Leonardo Spinazzola both injured, with Daniele De Rossi and Andrea Belotti not fully fit.
Coach Gian Piero Ventura gave Brazil-born Jorginho his first competitive appearance for Italy with Florenzi and Manolo Gabbiadini also handed starts. Napoli's in-form winger Lorenzo Insigne however was once again left on the bench.
Sweden's Lustig was back from suspension, with Johansson starting in place of the injured Albin Ekdal.
The hosts had penalty appeals in the opening few minutes as Marco Parolo appeared to be tripped from behind by Ludwig Augustinsson, but the referee waved play on and booked Giorgio Chiellini for dissent.
Sweden lost first-leg goalscorer Johansson after 15 minute when his left knee buckled badly and he was stretchered off to make way for Gustav Svensson.
Jorginho's through ball found Immobile to pull back from the byline for Candreva to blast over, but Leonardo Bonucci, wearing a protective mask after breaking his nose on Friday, got a knock to the knee and was limping badly.
Florenzi thought he had scored on 53 minutes with a flying volley from Matteo Darmian's cross, but it went wide.
Bonucci took off his protective mask on the hour mark, with Ventura bringing on Stephan El Shaarawy and Torino striker Belotti.
Federico Bernardeschi was the final Italy substitution and Olsen turned away a Parolo header.
As the clock ticked the crowd at the San Siro began to sing the national anthem.
An El Shaarawy shot was kept out by Olsen and Parolo's header whent wide, then Buffon came up for a corner in a final desperate gamble as Italy fell short of reaching the World Cup for the first time in 60 years.