Gareth Bale's deflected shot proved enough to give Wales victory in their final Euro 2012 qualifier in Sofia.
The outstanding winger scored on the stroke of half-time after cutting into the box from the right flank before firing a low effort with his left foot.
Craig Bellamy's curling effort went inches wide after the break, while Bale crashed a volley against the crossbar.
Valeri Bojinov wasted a glorious chance to equalise five minutes from time when he shot wide after being sent clear.
It would have been an undeserved point for the Bulgarians, under caretaker manager Mihail Madanski, who failed to register a single shot on target and are left to prop up Group G.
Wales finish one place above in fourth place, denied a possible third-placed finish by Switzerland's 2-0 win over runners-up Montenegro.
But the victory represents a remarkable turnaround for Wales as they end the group with three victories from the final four games and celebrate their first back-to-back wins in competitive games for six years.
Gary Speed named the same side that beat Switzerland 2-0 on Friday, the first time since 2003 that a Wales manager had fielded an unchanged team in consecutive games.
A surreal atmosphere awaited both sets of players, with fewer than 1,000 spectators present in the 45,000 capacity Vasil Levski stadium because of a boycott of the game by Bulgaria fans in protest over the state of the national side.
And those home fans who bothered to turn up saw their side outplayed for large parts against an ever-improving Wales side.
Wales forced home keeper Nikolay Mihailov into action twice in the opening 10 minutes as Bellamy fired from the edge of the box and then Bale shot low after beating two men.
But the bright start soon fell away as the tempo dropped, not helped by the long grass that appeared to restrict the flow of the ball.
Bulgaria offered little in the early exchanges, but Wales were fortunate on 36 minutes when Ivelin Popov's low cross was inches away from Valeri Domovchiyski's outstretched leg five yards from goal.
Although lethargic at times in defence, allowing Bulgaria too much room down their left flank, Bale came alive at every opportunity in attack.
A last-ditch tackle denied the Spurs winger another chance to surge into the home box, but Bale's pace caught out the home defence on the stroke of half-time to give Wales the lead.
A long ball from Adam Matthews, introduced four minutes earlier following an injury to Darcy Blake, beat the offside trap and freed Bale down the right flank.
He cut inside into the box on his left foot and his low drive deflected off the heel of Ivan Ivanov, wrong-footing keeper Milailov, giving the 22-year-old his fifth international goal from 32 appearances.
Wales came out for the second half showing greater intensity and purpose, and could easily have scored three times in the first 15 minutes.
Superb interplay between Bale and Aaron Ramsey created a glorious opening for Bellamy, but the Liverpool striker fired wildly over the bar in front of goal.
Bellamy then saw his right-foot curler go inches past the far post, before Bale crashed a volley against the underside of the bar from the edge of the box.
The chance epitomised the new confidence and creativity in the Wales side as Ramsey juggled the ball on the edge of the area before lifting it purposely into Bale's path.
Bulgaria showed little to suggest they had the heart for a late revival, and their rare forays into the Wales box were quickly snuffed out by the excellent Chris Gunter, switched from right-back to centre-back following Blake's injury.
But Bojinov should have brought his team level in the dying stages after the Wales defence was caught square for the first time.
Only goalkeeper Wayne Hennessey stood between Bojinov and the Wales goal, but the striker's effort with the outside of his foot missed the target from 10 yards.
Bulgaria: Mihailov, Manolev (Delev 52), Zanev, Miliev, Terziev, Gadzhev, Tonev, Petrov, Popov (Rangelov 70), Domovchiyski (Bojinov 62), Ivanov.
Subs Not Used: Vladislav Stoyanov,Minev, Genchev, Aleksandrov.
Booked: Gadzhev, Ivanov, Petrov.
Wales: Hennessey, Gunter, Ashley Williams, Blake (Matthews 41), Taylor, Allen, Ramsey, Crofts, Bale, Bellamy, Morison (Church 69).
Subs Not Used: Myhill, Nyatanga, Vaughan, Edwards, Robson-Kanu.
Goals: Bale 45.
Ref: Pawel Gil (Poland).