Simone Inzaghi’s side stretched their winning streak to nine consecutive league games and with a game in hand are three points behind leaders Inter Milan and Juventus who play on Monday.
Immobile struck the winner after 91 minutes having also converted from the penalty spot before the break.
“People expect more from us with all these wins and two trophies,” said Inzaghi, whose side beat Juventus to lift the Italian SuperCup trophy last month after winning the Italian Cup in May.
“We won a very important game. We’ll try to continue like this. We absolutely want to hit the Champions League.”
Felipe Caicedo had the ball in the back of the net early for Lazio from an Immobile cross but it was ruled offside.
But Italian international Balotelli picked up where he left off before the winter break opening the scoring after 18 minutes for the promoted side.
The 29-year-old pulled clear of Luiz Felipe to volley in his first home goal for Brescia and first of the decade.
He also scored the first goal of the previous decade in January 2010 with Inter Milan.
Balotelli insults
The former Manchester City and Liverpool player was however targeted by insulting chants from Lazio fans, every time he got the ball.
“It’s already the second time,” Balotelli was heard telling referee Gianluca Manganiello after half an hour, with the latter replying: “Now I’ll take care of it”.
Inzaghi gestured wildly on front of the Lazio fans to stop the chanting, as an announcement was read over the stadium speakers reminding fans that play would be suspended and their club penalised if they continued.
Brescia fans tried to drown out the insults with whistles and cheering which Balotelli applauded.
“Lazio fans that were today at the stadium SHAME ON YOU! #saynotoracism,” Balotelli posted on Instagram after the game.
In November, Balotelli was the subject of monkey chants at Verona while Brescia president Massimo Cellino also came under fire after describing Balotelli’s difficult situation at the promoted Serie A club as “black”.
Relegation-threatened Brescia were reduced to 10 men when Andrea Cistana was sent off for a second yellow card after bringing down Caicedo after 39 minutes.
Serie A top scorer Immobile pulled Lazio back on level terms from the penalty spot three minutes later.
Lazio dominated the second half with Immobile bringing his league tally to 19 goals connecting with a Caicedo cross to fire in the injury-time winner.
It was the 12th time this season that the team have scored a late winner.
Inzaghi meanwhile equals Sven Goran Eriksson’s record of nine consecutive league wins set in the 1998-99 season.
The Swedish coach led Lazio to their last Serie A title in 2000.
City rivals Roma, now four points behind in fourth, host Torino later on Sunday.
Inter Milan recommence the title battle with Juventus on Monday, with both sides level on 42 points after 17 games.
Antonio Conte’s side travel to Napoli with Juventus at home against Cagliari.
For more news your way, download The Citizen’s app for iOS and Android.
Download our app and read this and other great stories on the move. Available for Android and iOS.