Lorenzo Insigne fired Italy into the Euro 2020 semi-finals as perennial favourites Belgium were once again cast in the role of bridesmaid.
The Napoli frontman’s sumptuous 44th-minute strike ultimately settled a thrilling heavyweight battle in Munich and booked the Italians a last-four showdown with Spain at Wembley.
FIFA’s number one-ranked side once again exited a major tournament without the prize they crave.
Nicolo Barella had fired Roberto Mancini’s side into a 31st-minute lead which Insigne doubled and, although Romelu Lukaku’s penalty in first-half stoppage time had given the Belgians hope, they could not get themselves back on level terms.
Italy extended their unbeaten run to 32 games and became the first team to win 15 consecutive European Championship matches.
After a cagey start, Italy thought they had taken a 13th-minute lead when defender Leonardo Bonucci bundled home a free-kick, although a VAR check ruled the goal out.
It then took a superb save by Gianluigi Donnarumma to deny Kevin De Bruyne nine minutes later after he had broken at pace and cut inside before unleashing a fierce left-foot shot which the keeper clawed away at full stretch.
Donnarumma had to be equally resilient four minutes later to repel Lukaku’s curling attempt after De Bruyne had sprinted from his own half and sent him in on goal.
Italy’s response was concerted with Federico Chiesa starting to make an impression, but it was Inter Milan midfielder Barella who broke the deadlock with 14 minutes of the first half remaining.
He collected Marco Verratti’s pass and shifted the ball on to his right foot before thumping it past the helpless Thibaut Courtois.
Courtois was beaten for a second time within three minutes when Insigne stroked an arcing attempt beyond his despairing dive, but the deficit was halved in stoppage time.
Eden Hazard’s 19-year-old replacement Jeremy Doku went down in the box under Giovanni Di Lorenzo’s challenge and Lukaku blasted home the resulting spot-kick to keep his side in the contest.
The Italians did not seem unduly concerned by the setback as they resumed after the break very much on the front foot with Chiesa once again prominent, but with Doku’s pace a constant threat on the counter.
It was he who played De Bruyne into space to cross for Lukaku at the far post with 61 minutes gone, but as the striker waited for the net to bulge, full-back Leonardo Spinazzola made a vital block.
Spinazzola might have increased Italy’s lead had he been able to make meaningful contact with Insigne’s cross at the other end five minutes later, but his night ended prematurely when he was carried from the field on a stretcher with a muscle injury.
Roberto Martinez’s men laid siege to the Italian box as time ran down, but there was no way back as Donnarumma and his defence held commendably firm.