Substitute Jonny Williams grabbed a late victory for a depleted Wales side in Bulgaria which keeps them top of their Nations League group.
With leading players such as Gareth Bale and Aaron Ramsey missing through injury, their younger understudies showed signs of promise but lacked a cutting edge for much of the game.
There was more thrust in the second half, with debutant Rhys Norrington-Davies blazing over from a good position before Rabbi Matondo shot wide.
Matondo then wasted what looked like the best chance of the game as he shot over from close range, before Williams came to the rescue on 85 minutes with a fine first-time finish to score his first goal for his country.
It was a dramatic way to snatch victory and, with the decisive cross coming from Neco Williams, there were echoes of Wales’ win over Bulgaria in last month’s reverse fixture - when the Liverpool teenager had scored an injury-time winner as a substitute.
The win may not have come without a cost though, with goalkeeper Wayne Hennessey forced off in the 79th minute and Wales will wait to find out the severity of the injury.
Finland beat the Republic of Ireland earlier on Wednesday to momentarily take top spot in Group B4 but a third win in four matches keeps Ryan Giggs’ side one point ahead of the Finns.
With all three victories coming courtesy of late goals, Wales have only led for a total of 15 minutes over the course of their four matches in this campaign.
They now have two home matches left in November - against the Republic and Finland - to try and win their group and earn promotion to the top tier of the Nations League.
Depleted Wales leave it late again
Wales arrived in Sofia ravaged by injury and suspension, with Bale, Ramsey, Joe Allen, David Brooks, Hal Robson-Kanu, Kieffer Moore and Joe Morrell all unavailable.
Giggs was forced into making four changes from Sunday’s goalless draw in the Republic of Ireland, with a switch of formation to a wing-back system which included a debut for Luton Town’s Norrington-Davies on the left flank and a first start for Liverpool’s Neco Williams on the right.
Those two gave Wales more width, while an interchangeable front three of Daniel James, Harry Wilson and Tyler Roberts offered a different threat to the direct approach that the physically imposing Moore would encourage.
The visitors stretched their opponents and demonstrated some promise in their approach play, but there was still a distinct lack of penetration in the final third during a staid first half.
Giggs’ side improved after the break, with Williams and Roberts combining to set up Norrington-Davies, whose half-volley sailed well over.
That appeared to give the game some life as, a minute later, both sets of players had to be separated as tempers frayed following two bookings in quick succession for James and Wilson.
Wales’ most fruitful attacks continued to come from wide positions and on the right in particular, where Neco Williams and Roberts combined well.
With 15 minutes left, they thought they had finally found a breakthrough - but Matondo somehow shot over from Roberts’ excellent cross.
That did not matter, though. In the 85th minute, Neco Williams once again fashioned an opening on the right, crossing low for namesake Jonny, with the Charlton Athletic midfielder not breaking stride before sweeping a brilliant half-volley into the roof of the net.
Wales manager Ryan Giggs said:
“I’m really pleased and especially pleased for Jonny. I’m happy with the goal - the goal was magnificent - but we can improve, and we will.
“We’ll learn, it’s a young team. We’re proud of the defensive aspect as a team and the players put a real shift in.
“I’m really pleased with the result and, in parts, I thought we played the best football we had for a long time.”
On Wayne Hennessey’s injury: “We’re not too sure at the moment.
“It was just a tweak I hope but we’ll get him back, scan it and hopefully he will be OK.”
- 6GusmaoBooked at 50mins
- 5DimitrovBooked at 59mins
- 16MalinovSubstituted forTsvetkovat 45′minutes
- 11DespodovSubstituted forKaragarenat 84′minutes
- 12KarabelyovBooked at 52mins
- 10KraevSubstituted forIsa Mustafaat 75′minutes
- 7Yavorov Krastev
- 15Georgiev Bozhikov
- 19Isa Mustafa
- 1HennesseySubstituted forDaviesat 79′minutes
- 4DaviesBooked at 27mins
- 3N Williams
- 19SmithSubstituted forLevittat 72′minutes
- 7H WilsonBooked at 49minsSubstituted forWilliamsat 72′minutesBooked at 90mins
- 20JamesBooked at 50minsSubstituted forMatondoat 54′minutes
- Aliyar Aghayev
Match ends, Bulgaria 0, Wales 1.
Second Half ends, Bulgaria 0, Wales 1.
Foul by Ismail Isa Mustafa (Bulgaria).
Ben Davies (Wales) wins a free kick in the defensive half.
Foul by Birsent Karagaren (Bulgaria).
Rhys Norrington-Davies (Wales) wins a free kick in the defensive half.
Kristian Traychev Dimitrov (Bulgaria) wins a free kick in the defensive half.
Foul by Neco Williams (Wales).
Offside, Wales. Rabbi Matondo tries a through ball, but Jonathan Williams is caught offside.
Jonathan Williams (Wales) is shown the yellow card for a bad foul.
Ismail Isa Mustafa (Bulgaria) wins a free kick in the attacking half.
Foul by Jonathan Williams (Wales).
Goal! Bulgaria 0, Wales 1. Jonathan Williams (Wales) right footed shot from the centre of the box to the top right corner. Assisted by Neco Williams with a cross.
Substitution, Bulgaria. Birsent Karagaren replaces Kiril Despodov.
Attempt saved. Neco Williams (Wales) left footed shot from outside the box is saved in the centre of the goal. Assisted by Ben Davies.
Corner, Bulgaria. Conceded by Joe Rodon.
Attempt missed. Georgi Yomov (Bulgaria) header from the left side of the six yard box misses to the left. Assisted by Todor Nedelev with a cross following a corner.
Substitution, Wales. Adam Davies replaces Wayne Hennessey because of an injury.
Corner, Bulgaria. Conceded by Ethan Ampadu.
Jonathan Williams (Wales) wins a free kick in the defensive half.