Zdenek Ondrasek came off the bench on his international debut to earn the Czech Republic a 2-1 win at home to England, denying the Three Lions qualification for Euro 2020.
Harry Kane's fifth-minute penalty - the England captain's 27th international goal - put Gareth Southgate's side in front early on Friday, yet the host hit back within five minutes.
Centre-back Jakub Brabec profited on slack set-piece marking to level the scores and, as the game appeared to be drifting towards a draw, the Czech Republic struck again.
With five minutes to go, Lukas Masopust raided down the right and pulled a low cross back for striker Ondrasek, who confidently beat Jordan Pickford to snatch all three points.
Kane missed from the spot against Kosovo last month but he converted a fifth-minute penalty in Prague.
Raheem Sterling's darting run down the left was ended by Masopust's clumsy trip and Kane fired the resulting spot-kick down the middle, though the host soon drew level.
A corner found Brabec at the back post with Declan Rice having slipped and the defender bundled home his first international goal, beating Danny Rose on the line.
Goalkeeper Tomas Vaclik was quickly off his line to prevent Sterling rounding him in the 57th minute, then Jordan Pickford was called into action to acrobatically deny Masopust.
Alex Kral forced another good save from Pickford in the closing stages but England did not heed the warning, Ondrasek slamming home with his first shot in international football.
What does it mean? Southgate's men made to wait
A perfect record in the group put England on the brink of qualification going into the game, but it has work to do after a poor defensive performance at Eden Arena.
With four wins from its past five qualifiers, the Czech Republic is in good shape to finish in the top two, having moved level on points with England, though next month's visit of third-placed Kosovo still looks likely to be a key game.
England had not lost either a World Cup or European Championship qualifier since 2009, an impressive run of 43 matches, but it could not argue with a deserved defeat.
Masopust makes amends
It was a bad start to the game for Masopust after he gave away a cheap penalty, but thereafter he put in an energetic performance to cover his defence.
Masopust made five tackles and recorded two interceptions, forced a fine save from Pickford, then provided the assist for the winner.
Sancho struggles for chances
Selected in England's front three in place of Manchester United's out of form Marcus Rashford, this was a disappointing performance from Jadon Sancho. The teenager found it hard to get involved for the Three Lions, who were on the back foot for much of the contest.