Caludio Marchisio opened the scoring for the Italians on 35 minutes, yet their lead lasted two minutes as Daniel Sturridge finished Wayne Rooney's cross.
However, the troublesome Antonio Candreva crossed for Balotelli to regain the Azzurri's lead five minutes after the pause, and they comfortably defended their advantage against a fatigued England attack.
England's defeat will heighten the importance of Thursday's clash with Uruguay in São Paulo, after their 3-1 defeat to Costa Rica in Belo Horizonte.
The vibrant Raheem Sterling, Danny Welbeck and Henderson all went close in the first-half as a bold, young and bright England went for Italy from the first whistle, however the Italians' sophistication and experience gave them the edge.
Marchisio was, inexplicably, left unmarked and he took full advantage by driving Italy ahead from outside the box.
And then Gary Cahill lost Balotelli at the back post to put Italy ahead for a second time - after Sturridge had equalised following a brilliant England counter-attack.
Wayne Rooney started on the left and predictably struggled yet still squandered a presentable chance to level the match for a second time. It will arm his critics with further ammunition following coach Roy Hodgson's latest effort to crowbar him into the side.