Balotelli, playing three days after completing his move from Manchester City, scored twice in the 2-1 win over Udinese after being included in the starting line-up at the last minute following an injury to Giampaolo Pazzini in the warm-up.
The second goal, a penalty converted three minutes into stoppage time, came amid furious protests from the visitors who claimed there was nothing wrong with Thomas Heurtaux’s tackle on Stephan El Shaaraway.
El Shaaraway fell theatrically to the ground, rolling over at least three times, to win the penalty and the referee was surrounded by furious Udinese players after blowing the final whistle immediately after Balotelli’s goal.
Udinese’s sporting director Fabrizio Larini was fuming.
“We feel we’ve been done out of a point that we deserved to take home,” he said. “Everybody saw it was not a penalty.”
AC Milan coach Massimiliano Allegri admitted it was a fortuitous decision.
“We were lucky with the penalty, it could have been given or not given,” he said. “The controversy was because it happened in the last 30 seconds.
“Balotelli played well and I think he has a lot to give Milan,” he added.
Balotelli, playing for the club he supported during his boyhood, said he needed more match practice.
“I’m happy but I need to train to improve my fitnesses level,” he said. “I wasn’t supposed to start but it worked out well for me.”
Balotelli, who moved to Milan for a fee media reports put at £20 million, nearly scored after less than a minute when he burst past two defenders and clipped the far post.
He then set up a chance for M’Baye Niang and it was no suprise when he opened his account by turning the ball in from six metres after El Shaaraway’s cross from the left fell at his feet.
He nearly added another two minutes later with a dipping shot which was turned over by the bar by Udinese goalkeeper Daniele Padelli.
It was a typically erratic performance from Balotelli, however, and he failed to control the ball on several occasions causing Milan attacks to break down.
Giampiero Pinzi equalised on the break in the 55th minute when Udinese caught Milan napping and the home defence suddenly began to look vulnerable.
Balotelli went close in the 85th minute with a low free kick which Padelli turned around his post before the stormy finale.