A late goal from the Italy international secured all three points for the hosts, as they tightened their hold on third place
Fiorentina's defeat to Roma on Saturday meant the Rossoneri had a chance to increase the gap between themselves and the Viola in fourth to four points, with just three rounds of league matches left to play.
Balotelli's close-range strike in the 84th minute did just that as a lapse in concentration from Torino was punished by the former Manchester City striker.
It was a game of few clear cut chances, though Christian Abbiati and Jean-Francois Gillet did both make smart stops in the first half. The Milan shot-stopper also produced an instinctive save to keep out an effort from Paulo Barreto on the hour mark.
The Rossoneri welcomed a handful of figures back to their starting line-up for the match, as Abbiati returned in goal, and Kevin Constant, Cristian Zapata and Muntari filled gaps left by a spate of injuries to Massimiliano Allegri's squad.
The visitors created the first chance of the game, as Alessio Cerci raced into the penalty area and curled a left foot shot with his instep that was too close to Abbiati.
A decent spell from Milan followed that Cerci shot, and culminated in a couple of attempts on goal from Sulley Muntari and Balotelli. But on both occasions their efforts were kept out thanks to the alert goalkeeping of Gillet.
Torino had a glorious opportunity to go one up in the 16th minute after a missed interception from Zapata, only for Paulo Barreto to fire straight at Abbiati from 10 yards. The Brazilian was set up by a fine through ball from Migjen Basha, but his tame effort was gathered greedily by Milan's goalkeeper.
Balotelli has been in inspired form for Milan in recent months but he cut a frustrated figure in the first half as a number of flicks and passes failed to come off.
In fact his ineffectiveness even seemed to rub off on his strike partner Stephan El Shaarawy, with the Italy international guilty of some woeful touches and passes at the beginning of the second half.
It was unsurprising, therefore, to see the young forward hauled off by Allegri in the 55th minute and replaced by Giampaolo Pazzini.
As Milan resorted to long-range efforts at goal, Torino nearly took a surprise lead following a blistering counterattack. Cerci swung a cross to the latter from the right, but Barreto's half-volley from close range was saved acrobatically by Abbiati.
A driving run and shot from Robinho late on forced Gillet into making a decent stop at his near post, before Balotelli arrived at the right time to hammer home a winner minutes later.
The Italian attacker showed good composure to side-foot the ball past Gillet in the 84th minute, after a cross from the left was headed back across goal to him by Philippe Mexes.