Nicolo Barella and Lorenzo Insigne scored first-half goals in Munich as the Italians extended their national record unbeaten streak to 32 games.
Italy is Europe's hottest team, extending its unbeaten run to 32 matches and its winning streak to 13 with Friday's result. Spain is on a 12-match unbeaten run and drew its opening two Euro games.
Under Roberto Mancini, the 30-year-old Napoli captain has finally been given his chance to shine on the international scene as a starter.
Ciro Immobile, Nicolo Barella, Lorenzo Insigne and Domenico Berardi all scored for the hosts who will open the Euro against Turkey next Friday.