Daniel James' sublime finish earned Wales a vital point in Prague as they battled back from conceding a bizarre Danny Ward own goal to secure a 2-2 draw against the Czech Republic.

Enterprising Wales could not turn their dominance into victory, but their best performance of this campaign keeps alive their hopes of becoming the first Wales side since 1958 to qualify for the World Cup finals.

"It was a great game, not just for the fans but for the neutrals," said Leeds United winger James after the game. "We played some great attacking football, it's not easy to come here and get a result and I think 2-2 is fair.

"We definitely created enough chances, but we have to put them away. We created more today than in the last three games."

He added: "Danny [Ward] is a great character, but that happens and you have to pick your head up. He's been unbelievable for us, saved us so many times, I feel sorry for him tonight but we got the draw in the end."

The returning Aaron Ramsey gave Wales a 36th-minute lead, although that was quickly wiped out by Jakub Pesek after Ward had failed to gather Filip Novak’s shot.

Ward was left even more red-faced four minutes after the restart after miscontrolling Ramsey’s backpass and getting the final touch on the Czechs’ second goal. However, Daniel James secured the point Wales more than deserved in a thrilling contest.

The draw leaves Wales and the Czech Republic locked on eight points behind runaway group leaders Belgium – and Robert Page's side still have a game in hand on their Czech rivals.

Wales were without their talisman captain Gareth Bale, who had suffered a serious hamstring injury since the last international camp. Bale, Wales’ all-time record goalscorer, was the only player to score in Wales' previous five games, having netted a match-winning hat-trick against Belarus.

But the visitors were bolstered by the return of Kieffer Moore and Ramsey, with the Juventus midfielder taking the armband in Bale’s absence. Cardiff forward Moore was the only player in the Wales starting line-up to score this season – and that was nearly two months ago on August 14.

Wales had beaten the Czechs at home in March to strike a blow in the battle for second place, and knew that defeat in Prague would probably leave them relying on their 2020 Nations League results for a place in March’s World Cup play-offs.

Czech Republic were without injured West Ham defender Vladimir Coufal but Patrik Schick, who was joint top-scorer at this summer’s Euro 2020 as Jaroslav Silhavy’s side reached the quarter-finals, was back to lead the attack.

The Wales players made their usual pre-match stand against racism by taking the knee and were roundly booed by home fans.

Wales boss Robert Page had opted for a 3-5-2 formation with Moore and James up front and Ramsey offering swift support from an advanced midfield position. Ramsey made his presence instantly felt by clattering into Novak after 13 seconds to earn a yellow card.

Wales escaped when Ward pushed out Pesek’s low drive and Neco Williams completed the clearance. But Wales – and Ramsey in particular – continually probed and threatened throughout an entertaining first half.

A mix-up in the home defence allowed James to advance before skying wide and an even better chance arrived after 18 minutes when Ramsey released James and Wales wasted a two-on-one opportunity – James dithered before finding Moore, who was still favourite to beat the onrushing Vaclik but failed to do so.

Schick’s deflected effort looped over the bar before Wales scored from the resulting Czech Republic corner. Ethan Ampadu led a rapid break and Williams played his cross into a dangerous area. James failed to get a touch on the ball, but Ramsey was racing in behind and he sat down Vaclik superbly before tucking away his 18th international goal.

The lead lasted barely more than a minute as Novak broke beyond the Wales defence and Ward pushed out a shot that might have been straying wide. Williams slipped at the wrong moment and Pesek pounced in front of a gaping goal.

Worse was to come for Ward with his loss of concentration ending up with him touching the ball onto the post. The Leicester goalkeeper desperately tried to retrieve the situation but both he and the ball ended up in the back of the net.

Wales were on the ropes but Page made an astute double substitution with Connor Roberts and Harry Wilson replacing Chris Gunter and Joe Morrell. And when Wilson slipped in James, his excellent lofted finish beat Vaclik and survived a VAR review to make it 2-2.

Moore and Ramsey almost won it for Wales late on, but a furious contest ended all square with the race for second place set to go down to the wire. Wales do of course have a game in hand over the Czechs, although it happens to be against Belgium, the best ranked side in the world.

Next up for Wales is Estonia away on Monday, October 11 (7.45pm).

CZECH REPUBLIC: Vaclik; Mateju, Kalas, Celustka, Novak (Wiesner 84); Kral (Kuchta 84), Soucek (C); Pesek (Vydra 76), Barak (Sadilek 76), Hlozek (Zmrhal 90); Schick. Subs not used: Mandous, Stanek, Zima, Brabec, Kopic, Havel. Goals: Pesek 38, Ward OG 50 Yellow cards: Barak 26, Sadilek 90+1.

WALES: Ward; Mepham (T Roberts 86), Rodon, Ampadu; Gunter (C Roberts 60), Allen, Morrell (Wilson 60), N Williams (Thomas 76); Ramsey (C), Moore, James. Subs not used: Hennessey, A Davies, Lawrence, J Williams, Harris, Vaulks, Johnson, Cabango. Goals: Ramsey 36, James 68 Yellow cards: Ramsey 1, Ampadu 26, Moore 90+2.

Attendance: 16,856.