Substitute Defoe capped a rapid counter-attack 11 minutes from time, after fellow replacement Ryan Bertrand had headed off the goalline at the other end, when he curled in from just outside the penalty area.
Italy captain Daniele De Rossi headed Italy in front after 15 minutes when he met an inswinging corner from Alessandro Diamanti after 15 minutes and powerfully headed past debutant goalkeeper Jack Butland into the roof of the net.
England hit back 12 minutes later from another set piece, defender Phil Jagielka ignoring the attentions of Federico Balzaretti to stoop to head in Frank Lampard's corner for his first international goal.
It was England's first victory over Italy since 1997.
(For more sports news and updates, follow Ahram Online Sports on Twitter: @AO Sports/ and Facebook AhramOnlineSports)