Hayley Ladd's late free-kick gave Wales victory in what had threatened to be a frustrating night against Kazakhstan in their 2019 Women's World Cup qualifier.
The visitors packed their defence and Jayne Ludlow's side were restricted to largely long-range first-half efforts.
After the break, Natasha Harding was just wide with three chances in Cardiff while Angharad James hit the post.
But Kazakh goalkeeper Oksana Zheleznyak misread Ladd's free-kick from wide on the left and it curled into the corner.
It was harsh on Zheleznyak, who had to that point been outstanding in dealing with the numerous crosses and free-kicks that had come her way as a result of Kazakhstan being frequently penalised for their physical approach.
Wales remain top of Group 1 having drawn in Russia and completed home and away wins over Kazakhstan.
- Relive Friday's Women's World Cup qualifiers
- Houghton scores twice as England beat Bosnia-Herzegovina
A healthy crowd of 3,165 were in the Cardiff City Stadium but the attendance was shy of the Wales home record of 3,581 who watched the game against England at the same venue three years ago.
Wales now travel on Tuesday to Bosnia-Herzegovina, who lost 4-0 to England in their game on Friday.
Group favourites England are in second place, one point behind Wales but having played one game fewer.
Wales' match winner Hayley Ladd told BBC Sport Wales: "We kept probing, so are just very relieved to get that goal and get the three points.
"It was difficult, but it's up to us to break them down, that's our responsibility.
"It does make a difference playing here (at Cardiff City Stadium), seeing our posters on the wall, just being able to play on a pitch like this in a stadium like this is just a great feeling. So we're very fortunate and feel very privileged.
"We've got to get three points now against Bosnia and that will set us up well for next year."
Line-ups
Wales
- 1O'Sullivan
- 2DykesSubstituted forWardat 61'minutes
- 5Roberts
- 4Ingle
- 14Ladd
- 8JamesSubstituted forChiversat 77'minutes
- 10Fishlock
- 16Griffiths
- 7Harding
- 9GreenSubstituted forLawrenceat 45'minutes
- 13Rowe
Substitutes
- 3Evans
- 11Lawrence
- 12Skinner
- 15Vine
- 18Ward
- 19Horrell
- 20Chivers
Kazakhstan
- 18ZheleznyakBooked at 62mins
- 7KhojashevaSubstituted forDemidovaat 66'minutesBooked at 83mins
- 4Nurusheva
- 9Krasyukova
- 14Babshuk
- 13Bortnikova
- 17Zhumabaikyzy
- 10VyldanovaBooked at 71mins
- 8KirgizbaevaBooked at 61mins
- 3GaistenovaSubstituted forVlassovaat 90'minutes
- 11KaribayevaSubstituted forTurlybekovaat 82'minutes
Substitutes
- 1Sandalova
- 5Demidova
- 15Turlybekova
- 19Orynbasarova
- 20Alimkulova
- 21Abisheva
- 23Vlassova
- Referee:
- Simone Ghiandai
- Attendance:
- 3,165