Match ends, Wales 0, Bosnia and Herzegovina 0.
Wales fought out a goalless draw with Bosnia-Hercegovina to maintain their unbeaten start to their Euro 2016 qualifying campaign.
Neither team played with much fluency in a tight first half, but the match burst into life in a second period peppered with chances at both ends.
Home goalkeeper Wayne Hennessey produced several excellent saves to deny the visitors, while Wales were close to snatching a late winner through Ashley Williams and Gareth Bale.
After winning their previous match in Andorra 2-1 and with other results going their way, a draw was enough to take Wales to the top of Group B.
Chris Coleman's side were backed by a vociferous crowd of 30,741 at the Cardiff City Stadium - though it also included a very vocal away following - a record attendance for an international fixture at the venue. They face Cyprus at the same ground on Monday.
Injuries had disrupted preparations for Wales, with Arsenal's Aaron Ramsey and Joe Allen of Liverpool the most notable absentees.
Joe Ledley and Jonathan Williams were given the formidable task of replacing them - and containing a dangerous Bosnian midfield featuring Roma's Miralem Pjanic.
Williams created the game's first chance, as his corner was headed over by his namesake, captain Ashley Williams, in the seventh minute.
It was not long before Bale had his first effort on goal, latching on to a long pass from Ben Davies but sending a deft volley over the bar.
The Real Madrid winger was not as influential as usual, primarily because the world's most expensive player was stalked everywhere he went by Everton's Muhamed Besic.
As well as shackling the hosts' main threat, Bosnia showed flashes of their own attacking potential in the first half with a couple of shots from distance from Pjanic.
And they were quickly on the front foot after the restart.
Hennessey had to make two excellent saves to deny Haris Medunjanin and captain Edin Dzeko, while the Crystal Palace keeper was well beaten by a Pjanic free-kick that curled narrowly wide.
The hosts had a glorious chance to take the lead against the run of play, but an unmarked Ashley Williams headed over from Bale's free-kick.
That was the catalyst for a frantic finale, with Hennessey brilliantly saving a Pjanic free-kick and Bosnia goalkeeper Asmir Begovic producing the save of the night to palm away Bale's fierce angled shot.
- 4ChesterBooked at 70mins
- 6WilliamsBooked at 71mins
- 3TaylorBooked at 57mins
- 18WilliamsSubstituted forWilliamsat 83'minutes
- 9ChurchSubstituted forRobson-Kanuat 65'minutes
- 21HadzicBooked at 16mins
- 10PjanicBooked at 34mins
- 9IbisevicSubstituted forHajrovicat 83'minutes
- 11DzekoBooked at 71mins
- Vladislav Bezborodov
- Shots on Target
Second Half ends, Wales 0, Bosnia and Herzegovina 0.
Foul by Senad Lulic (Bosnia and Herzegovina).
Chris Gunter (Wales) wins a free kick in the defensive half.
Attempt missed. Hal Robson-Kanu (Wales) header from very close range misses to the right. Assisted by Gareth Bale with a cross following a corner.
Corner, Wales. Conceded by Asmir Begovic.
Attempt saved. Gareth Bale (Wales) left footed shot from a difficult angle and long range on the left is saved in the bottom right corner. Assisted by George Williams.
Corner, Wales. Conceded by Toni Sunjic.
Attempt blocked. Hal Robson-Kanu (Wales) left footed shot from outside the box is blocked.
Substitution, Bosnia and Herzegovina. Izet Hajrovic replaces Vedad Ibisevic.
Substitution, Wales. George Williams replaces Jonathan Williams.
Offside, Wales. James Chester tries a through ball, but Gareth Bale is caught offside.
Attempt saved. Gareth Bale (Wales) right footed shot from outside the box is saved in the centre of the goal. Assisted by Neil Taylor.
Corner, Bosnia and Herzegovina. Conceded by Chris Gunter.
Corner, Bosnia and Herzegovina. Conceded by Wayne Hennessey.
Attempt saved. Miralem Pjanic (Bosnia and Herzegovina) right footed shot from outside the box is saved in the top centre of the goal.
Vedad Ibisevic (Bosnia and Herzegovina) wins a free kick in the attacking half.
Foul by James Chester (Wales).
Attempt missed. Ashley Williams (Wales) header from the centre of the box is too high. Assisted by Gareth Bale with a cross following a set piece situation.
Foul by Tino Susic (Bosnia and Herzegovina).