The maverick striker, who has missed three months of the season with a groin injury, converted in the 42nd minute after a foul on Luca Antonini, his second goal of the season in all competitions.
"Supermario" had previously scored against Udinese in Serie A on Sept.22.
The goal atoned for an early miss when Balotelli ran onto an excellent ball by Keisuke Honda only to send his effort wide of a gaping goal.
Alessandria, who play in Lega Pro, chose to play the match in Turin's Stadio Olimpico, around 95 kilometres from their home ground which only holds around 5,000 people.
They had already eliminated Serie A sides Palermo and Genoa on the way to the last four and substitute Ricardo Bocalon squandered two good chances to give them an unlikely equaliser after coming on in the second half.
M'Baye Niang hit the post for Milan near the end with an angled shot on the break.
The two sides will have to wait five weeks for the return at San Siro on March 1.
Juventus host Inter Milan on Wednesday in the first leg of the other semi-final.