Kieffer Moore's scrappy 12th-minute goal was enough for Wales to make amends for a disappointing goalless home draw with Estonia last month.
Anything other than a Welsh victory would have seen Belgium wrap up top spot in Group E and a spot in Qatar next year.
But Wales kept alive their slim hopes of catching the world's number one-ranked side, moving to within five points of Belgium with two matches remaining.
The Czech Republic sit second in the group on goal difference after winning 2-0 against Belarus, but have played a game more.
Belgium can still secure a finals berth when they host Estonia next month.
Wales are all but certain to drop into the playoffs even if they finish below the Czechs, courtesy of winning their 2020-21 Nations League group.
The visitors started brightly, with Harry Wilson curling a free-kick over the crossbar before Estonia goalkeeper Karl Hein turned away Connor Roberts' effort at full stretch.
But Wales took the lead from the resulting corner, a goalmouth scramble ending with the ball bouncing in off Moore from barely a yard out.
It was Cardiff striker Moore's first international goal since Euro 2020 and seventh in total for his country.
Wales dominated possession for the majority of the first half but struggled to create many more clear chances, with Wilson striking another free-kick straight at Hein.
Robert Page's men were almost made to pay shortly after the restart, as Estonia striker Erik Sorga headed over when he should have done better.
Wales appealed for a penalty when Moore tussled with home captain Marten Kuusk in the area, but a free-kick was awarded against the forward, who was left with a bloody nose.
The away side started to look nervous late on as Estonia exerted some pressure.
Vlasiy Sinavski was denied by an excellent save from Danny Ward, who bounced back from a horrendous error in Saturday's 2-2 draw against the Czech Republic with a clean sheet.
October 11, 2021