Wales went back to the top of Group B4 with 10 points from four games after Finland had moved onto nine earlier with a 1-0 victory over the Republic of Ireland.
It was a familiar sinking feeling for Bulgaria, who lost in Cardiff last month when Neco Williams struck in stoppage time, heading home namesake Jonny Williams’ cross.
Five weeks on, the favour was returned as Neco Williams crossed five minutes from time and Jonny Williams, winning his 25th cap, swept home superbly at the near post.
Wales also had the satisfaction of keeping a sixth consecutive clean sheet in competitive football.
In fact, it is now 621 minutes of football since Croatia striker Nikola Vlasic was the last player to score a competitive goal against Wales.
There was a makeshift look about a Wales team without injured quartet Gareth Bale, David Brooks, Joe Allen and Hal Robson-Kanu, as well as suspended pair Joe Morrell and Kieffer Moore.
Juventus midfielder Aaron Ramsey was also missing after wearing the armband in Sunday’s goalless draw against the Republic of Ireland, and Ben Davies took over the captaincy.
Connor Roberts dropped to the bench as Liverpool teenager Neco Williams made a first start and Luton loanee Rhys Norrington-Davies was handed his debut.
Chris Mepham returned from injury and Tyler Roberts had the responsibility of leading the attack in Moore’s absence.
Bulgaria had endured a wretched run during the last two years, winning only once in 18 games and with just one point from three Nations League games.
The dissatisfaction of the Bulgarian public was evident – although 8,500 fans were allowed to attend despite the coronavirus pandemic, there was a sparse turnout at the Vasil Levski National Stadium.
Wales operated with an unfamiliar back three and applied early pressure with a series of set-pieces with Joe Rodon hooking over the crossbar from one of them.
Norrington-Davies and Neco Williams supplied the width and the latter picked out Tyler Roberts for a header which home goalkeeper Nikolay Mihaylov collected under his crossbar.
Neco Williams was the stand-out performer as Wales continued to dominate possession and fashion chances.
Wales were in so much control that a booking for skipper Davies, following through on Kristiyan Malinov after winning the ball, was out of context with proceedings.
Davies was clearly bemused by the decision of Azerbaijani referee Aliyar Aghayev, but it did raise Bulgarian hackles and the temperature.
The home players were seething again at the start of the second half when James crashed into Cicinho for the Manchester United winger to earn a booking.
Wilson was also cautioned before testing Mihaylov from a 25-yard free-kick, but Bulgaria went close when Kiril Despodov’s cross just evaded the unmarked Bozhidar Kraev in front of goal.
Rabbi Matondo, on for James, almost made an instant impact with a curling shot, but the lasting impression of his night was blazing over from a few yards.
Wales had to handle the final 10 minutes with a new goalkeeper as Adam Davies replaced the injured Wayne Hennessey.
But there was still time for them to win the game, reclaim top place in the group and extend their unbeaten run in competitive football to nine games.