Italy set up a Euro 2020 semifinal clash against Spain after first half goals from Nicolo Barella and Lorenzo Insigne led the Azzurri to a 2-1 win over Belgium on Friday in an entertaining encounter in which both sides created a number of chances.
Barella fired home the opener after 31 minutes before Lorenzo Insigne's wonderful curling strike doubled their advantage on the brink of halftime before Romelu Lukaku pulled one back for Belgium in first-half stoppage time.
Both sides had chances to score after the break in a breathless match, but Roberto Mancini's side held on for a 13th consecutive win to extend their record unbeaten run to 32 games.
They will face Spain at Wembley on Tuesday for a place in the final after Luis Enrique's side squeezed past Switzerland 3-1 in a penalty shootout after their battling opponents clung to a 1-1 draw after extra time despite going down to 10 men.
Italy started strongly when Leonardo Bonucci bundled the ball into the net after 13 minutes from a free-kick, but his celebrations were cut short when it was chalked off for offside.
Italy's Gianluigi Donnarumma then produced a superb one-handed save to deny midfielder Kevin De Bruyne, who was fit enough to start after picking up an injury in Belgium's last game, before the goalkeeper tipped a Lukaku effort wide.
The Azzurri went in front when Barella lashed a finish into the bottom corner after holding off two defenders in the box. It was Italy's 10th goal of the tournament, their most at a European Championship.
Italy looked set to end the half on a high when Insigne's outstanding curler doubled their lead, but Belgium cut the deficit three minutes later when Giovanni Di Lorenzo barged over Jeremy Doku in the box and Lukaku converted the penalty.
Leonardo Spinazzola performed a superb goal-line clearance to deny Lukaku an equaliser after the break, but the impressive Italy left-back's night ended in tears when he was carried off on a stretcher with a lower leg injury.
The lively Doku caused problems for the Azzurri defence all night and he threatened a late equaliser when he cut in from the wing to lash a shot at goal, but it flew inches over the bar.
After the game, Mancini hailed his side for their gutsy win.
"We deserved to win. The boys were extraordinary in the game," he said.
"We only suffered in the last 10 minutes because we were really tired, we had spent a lot. But we could have scored a few more goals."
Mancini said his players deserved to savour the triumph before thinking about Spain.
"We didn't have a minimum goal, we wanted to do our best, the road is still long, there are two games to go, we'll see what happens," he said.
"Spain? Let's enjoy this victory, then we'll think about it. Congratulations to my boys, they were very good."
Belgium manager Roberto Martinez praised his player's efforts despite the loss.
"Italy is a team that has been growing in the last month. You can see the victories are building a lot of strength," Martinez told a news conference.
"This allowed them to start the first half better. In the second half we got into the game better and we were able to create chances."
Belgium goalkeeper Thibaut Courtois was disappointed but gave credit to the Italians.
"This hits hard, but we knew it was going to be a tough game. We had two opportunities but their keeper made a good save and I think we gave the first goal away a bit too easily," he said.
"It really could have gone either way, but Italy deserved to win here."