The Italy forward was due to start the game on the bench, but Giampaolo Pazzini picked up an injury in training, which meant the €22 million [£19m] January signing started the game on the pitch.
He scored after 25 minutes to put the Rossoneri ahead, but a goal from Giampiero Pinzi looked to have settled the game as a draw. However, a late - and very controversial - penalty was awarded and the striker calmly put away the spot kick to secure a stoppage-time victory.
Balotelli told reporters after the game: "I was supposed to be on the bench and Pazzo [Pazzini] was meant to play but he had a problem. I played from the start and it went well."
The former Inter starlet admitted that his fitness needs a lot of work, however, but exclaimed his joy despite his post-match exhaustion.
"I'm happy even if the game was difficult," Balotelli added. "I’m strong but my legs are still heavy. I haven't played many games and I have to train a lot."
The win leaves the Rossoneri level on points with arch rivals Inter, and fourth in Serie A.