In a game played at a frenetic pace, it was the hosts who struck first with Senad Lulic slotting home from close range inside the opening 10 minutes.
Marco Rose's side then controversially pulled level on the half-hour through Valon Berisha's penalty, given after Dusan Basta had been punished for the softest of challenges.
Perhaps fuelled by the perceived injustice of that penalty, the Italian side started the second half in dominant fashion and restored their lead after 49 minutes through Marco Parolo's wonderful back-flick finish.
Substitute Takumi Minamino looked to have secured a draw on the night for the visitors with a calm finish after 71 minutes, but Felipe Anderson and Immobile had other ideas.
In the space of 138 seconds, Felipe Anderson showed fantastic composure to score his side's third and Immobile stroked home a first-time finish to give Lazio a healthy lead ahead of the return leg in Austria next week.
77' - GOL GOL GOL GOL GOL GOL GOOOOOOOOL!!!!! GOOOOOOOL!!!!!
ECCO IL POKER, LO CALA @ciroimmobile !!!!!!
@LucasLeiva87 arriva al limite dell'area poi serve #KingCiro che con il destro fa passare la sfera sotto le gambe del portiere!!!! #UEL #LazioSalzburg 4-2 pic.twitter.com/9qpqNJmPpc — S.S.Lazio (@OfficialSSLazio) April 5, 2018
The hosts' blistering start was rewarded after just eight minutes as an incisive move cut open the Salzburg backline.
Immobile played in Basta down the right but was unable to get a decisive touch to the Serbian's low cross after a surging run into the penalty area. Thankfully for him, captain Lulic was lurking behind to stroke past Alexander Walke into the bottom corner for his first Europa League goal of the campaign.
Salzburg responded well to that early setback and found a way back into the game after 30 minutes, albeit in controversial circumstances.
Munas Dabbur went to ground in the penalty area clutching his face after the softest of challenges by Basta and after a few moments of confusion, referee Ovidiu Hategan appeared to award the spot-kick on the advice of the official behind the goal.
Berisha was not fazed by the delay, though, slotting past Thomas Strakosha to draw the Austrians level.
Lazio started the second period with even more verve than the first and restored their lead just four minutes after the restart.
Luis Alberto found himself in plenty of space down the right and was able to pick out Parolo, who clipped an impudent back-heel past an exposed Walke.
Lazio's hopes of taking a lead to Austria looked in danger when Japan international Minamino slotted past Strakosha with his first touch after being introduced from the bench, having been set up by Dabbur.
The hosts produced a stirring response, though, as Felipe Anderson and Immobile scored two in quick succession to dramatically change the complexion of the tie.
Felipe Anderson's was a superb solo effort, driving past three players before clipping past Walke, while Immobile clinically finished a flowing move from just inside the area, Sergej Milinkovic-Savic and Lucas Leiva respectively setting up the strikes.
Their lead could have been even greater had Immobile and Felipe Caicedo found a way past Walke late on, but it will have done little to take the shine off a fine night for Simone Inzaghi’s side.