Gianluigi Donnarumma was booed by the Italy supporters
Ferran Torres put Spain into the Nations League final on Wednesday with a brace in a 2-1 win that ended Italy's world record unbeaten run at 37 matches in front of their own fans.
Torres struck twice in the first half to make sure that Luis Enrique's Spain won the Final Four clash at the San Siro in Milan, where they will face either France or Belgium in Sunday's final.
Lorenzo Pellegrini pulled a goal back with seven minutes left but the European champions failed to complete what would have been a memorable comeback after a spirited second-half performance with 10 men.
Italy, who beat Spain in the Euro 2020 semi-finals, had to play over half the match with one man fewer after Leonardo Bonucci was sent off in the 42nd minute for picking up a second yellow card for elbowing Sergio Busquets in the face during an aerial challenge.
"The first half could have easily finished 1-1... It's a shame because we would have stayed with 11 men were it not for an error which you can't commit at this level," Italy coach Roberto Mancini told RAI.
The match was played in a strange atmosphere as AC Milan fans in the stadium harangued Italy goalkeeper Gianluigi Donnarumma throughout his return to the San Siro following his move to Paris Saint-Germain.
Donnarumma, who is considered one of the world's best goalkeepers and won the Player of the Tournament award at the Euro, left Milan as a free agent in the summer and his departure left a bad taste in the mouth of supporters who loudly booed and whistled his every touch of the ball.
"It upset us, because it was Italy playing, it wasn't a club match. They could have put it to one side for one match," Mancini told reporters later.
"Italy is Italy and I think it should come above everything else."
Donnarumma was barracked by the home fans both when he came out for the pre-match warm-up and when the teams were read out, with the boos and whistles loud enough to drown out the announcements over the stadium's speakers.
He was even whistled by some home supporters on his first touch of the ball in the fourth minute although by that point others in the crowd had started to applaud him in an attempt to cover up the criticism.
However boos persisted every time he got the ball and in one bizarre moment Bonucci took a goal kick, only to roll the ball a couple of metres to Donnarumma, who again had to try to block out a wave of anger from the stands.
They clearly started to have an effect on his performance, first reacting sluggishly to Torres' flick which put Spain one goal ahead in the 17th minute.
Only two minutes later, Donnarumma then fumbled an innocuous shot from Marcos Alonso onto the post and had to thank Bonucci for getting back in time to clear the ball off the line.
After a period of Spain dominance, Italy responded and should have at least been level 10 minutes before the break, Federico Bernadeschi having a 34th-minute shot pushed onto the post before Lorenzo Insigne fluffed the easiest chance of the half.
Emerson Palmieri was sent charging behind the right side of the Spanish defence and rolled a perfect low cross to the unmarked Insigne, who sliced wide a side-footed finish.
However the hosts' task was made much harder just before the break when Bonucci was sent off and Torres all but killed off their hopes of extending their record with his deft header from another Mikel Oyarzabal cross.
Down to 10, Italy gave a good account of themselves and Pellegrini cut the deficit with seven minutes remaining largely thanks to Federico Chiesa.
Juventus forward Chiesa nicked the ball after a Spanish corner was cleared and charged down the field unopposed before laying on the Roma midfielder to tap into an open goal which briefly gave Italy fans hope.
World champions France take on Belgium at Juventus' Allianz Stadium in Turin on Thursday.