Match ends, Italy 1, Wales 0.
Wales demonstrated great resolve in defeat against Italy as they clung on with 10 men for a result which was enough to secure their place in the second round of Euro 2020.
Their automatic qualification was under threat with Switzerland beating Turkey 3-1 in Group A's other fixture, but Wales withstood relentless Italian pressure to scrape through in second place on goal difference.
Italy had already qualified for the last 16 and, despite making eight changes to their team, they were still utterly dominant, Matteo Pessina's goal giving them a 1-0 half-time lead which scarcely reflected their superiority.
Wales were forced to play the final half an hour a man down after Ethan Ampadu was sent off for a lunge on Federico Bernardeschi, intensifying the Italian onslaught.
And although Italy's win was never in doubt - this was their 30th consecutive match without defeat, equalling their national record - Wales dug deep to ensure the margin of victory was not too damaging.
Finishing third may well have been enough for Wales to progress as one of the tournament's four best third-placed teams, but this result ensured they kept their destiny in their own hands.
Robert Page and his players can now look forward to a second-round match against Group B's runners-up in Amsterdam next Saturday.
As for Italy, an 11th consecutive win will see them face Group C's second-placed team at Wembley on the same day.
Wales' nervous wait
This turned into a far more anxious afternoon than Wales had envisaged in Rome.
Their victory over Turkey last Wednesday had put them within touching distance of the knockout stages, knowing even a defeat was unlikely to halt their progress - but needing a draw to be sure of it.
With their probable last-16 tie in mind, Page benched the three players - Kieffer Moore, Ben Davies and Chris Mepham - who were one yellow card away from suspension.
There was also a change of formation as Wales switched to a 3-4-3 where a back three became very much a back five during their long spells without possession against an impressive Italy side.
The Azzurri dominated from kick-off, controlling the ball and hemming Wales into their own half for what felt like the duration of the match.
Page's side were living dangerously, with Italian shots deflecting wide or into the hands of Wales goalkeeper Danny Ward, before their luck finally ran out when Pessina flicked in from Marco Verratti's free-kick.
There was a myriad of other chances but, like a battered boxer threatening to land one decisive blow, Wales had opportunities of their own with Chris Gunter heading over and Gareth Bale wastefully clearing the bar with a left-footed volley.
Snatching a draw at Stadio Olimpico would have been a heist of the highest order, but those misses proved academic thanks to the goalkeeping of Ward and the bloody-minded defending of those in front of him.
Italy underline their tournament credentials
A third win from three group matches underlined Italy's credentials as potential Euro 2020 champions.
As four-time world champions and former winners of this competition, they are used to being among the favourites - but this team is different.
Italian football is traditionally associated with defensive rigidity, a shrewdness allied with occasional cynicism to grind out narrow victories. Before this summer, they had never scored more than two goals in a single European Championship game.
At Euro 2020, however, they won both their opening fixtures 3-0 against Turkey and Switzerland, playing with a newfound panache.
Manager Roberto Mancini made eight changes but, with some of those recalled including Paris St-Germain midfielder Verratti and Italy's top scorer in qualifying Andrea Belotti, this was still a formidable line-up.
The fact that their goal came from a combination of two of their recalled players - Verratti assisting Pessina - illustrated Italy's enviable strength in depth.
Such was the authority of their display, there was never any doubt they would make it 11 wins in succession - and there were rarely any moments when they looked like conceding a first goal in more than 1,000 minutes.
Fortunately for Wales, however, Italy could not add to their lead.
This loss in Rome will rank alongside the 2-0 defeat in Bosnia & Herzegovina - the night Wales qualified for Euro 2016 - as one of the best defeats in Welsh football history.
Match stats - Ampadu's record-breaking red card
- Aged 20 years and 279 days, Wales' Ethan Ampadu became the second-youngest player to be sent off in a European Championship match after John Heitinga (20 years 217 days) for the Netherlands against the Czech Republic in 2004, while Ampadu is the outright youngest to be shown a straight red.
- Italy are now unbeaten in 30 matches in all competitions (W25 D5) since losing against Portugal in September 2018, equalling the longest unbeaten run in their history, set between 1935 and 1939.
- Wales have lost six of their seven competitive matches against Italy (W1), including all five that took place outside Wales.
- Italy have kept a clean sheet in each of their past 11 matches in all competitions, only going on a longer run once before in their history - 12 games without conceding between 1972 and 1974.
- Wales have now reached the knockout stages in all three of their appearances at major tournaments - the 1958 World Cup, Euro 2016 and Euro 2020.
- Italy have kept a clean sheet in 22 of their 41 European Championship matches (54%), three more than any other side (Germany, 18).
- Italy made eight changes to their starting XI for this match, their joint-most between games at a major tournament.
- Italy's Marco Verratti led all players in this match for touches (136), passes completed (103), chances created (five) and tackles (four), as well as assisting the goal.
- 21G DonnarummaSubstituted forSiriguat 89'minutes
- 19BonucciSubstituted forAcerbiat 45'minutes
- 12PessinaBooked at 79minsSubstituted forCastrovilliat 87'minutes
- 8JorginhoSubstituted forCristanteat 75'minutes
- 20BernardeschiSubstituted forRaspadoriat 75'minutes
- 2Di Lorenzo
- 15AmpaduBooked at 55mins
- 2GunterBooked at 79mins
- 16MorrellSubstituted forMooreat 60'minutes
- 7AllenBooked at 51minsSubstituted forLevittat 86'minutes
- 3N WilliamsSubstituted forDaviesat 86'minutes
- 11BaleSubstituted forBrooksat 86'minutes
- 20JamesSubstituted forWilsonat 74'minutes
- Ovidiu Hategan
- Shots on Target
Second Half ends, Italy 1, Wales 0.
Attempt missed. Bryan Cristante (Italy) right footed shot from outside the box misses to the left. Assisted by Marco Verratti.
Substitution, Italy. Salvatore Sirigu replaces Gianluigi Donnarumma.
Attempt saved. Andrea Belotti (Italy) right footed shot from outside the box is saved in the bottom right corner. Assisted by Giacomo Raspadori.
Attempt blocked. Giacomo Raspadori (Italy) right footed shot from outside the box is blocked. Assisted by Federico Chiesa.
Attempt blocked. Marco Verratti (Italy) right footed shot from outside the box is blocked. Assisted by Rafael Tolói.
Substitution, Italy. Gaetano Castrovilli replaces Matteo Pessina.
Substitution, Wales. Dylan Levitt replaces Joe Allen.
Substitution, Wales. Ben Davies replaces Neco Williams.
Substitution, Wales. David Brooks replaces Gareth Bale.
Corner, Italy. Conceded by Connor Roberts.
Attempt blocked. Federico Chiesa (Italy) left footed shot from the left side of the box is blocked. Assisted by Matteo Pessina.
Attempt blocked. Federico Chiesa (Italy) right footed shot from the right side of the box is blocked. Assisted by Marco Verratti.
Corner, Italy. Conceded by Joe Allen.
Francesco Acerbi (Italy) wins a free kick in the defensive half.
Foul by Kieffer Moore (Wales).
Offside, Italy. Federico Chiesa tries a through ball, but Matteo Pessina is caught offside.
Matteo Pessina (Italy) is shown the yellow card for a bad foul.
Chris Gunter (Wales) is shown the yellow card for a bad foul.