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 hosts 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.
20 - Harry Kane has scored 20 @England goals in games when starting as captain - in the history of the England national team, only Vivian Woodward has scored more goals when starting as captain (23 goals between 1908 and 1911). Leader. pic.twitter.com/Lug5NVwh8y— OptaJoe (@OptaJoe) October 11, 2019
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 hosts 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 they have work to do after a poor defensive performance at Eden Arena.
With four wins from their past five qualifiers, the Czech Republic are 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 they 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.
10 - England faced 10 shots in the first-half against Czech Republic - only the second time in their last 78 matches they've faced 10+ shots in the first-half (also 10 v Spain in October 2018). Peppered. pic.twitter.com/V5oAwE2p6R— OptaJoe (@OptaJoe) October 11, 2019
Key Opta facts
- The Czech Republic had 17 shots, the most England have faced in a qualifying match since March 2013 (Montenegro had 19 in a World Cup qualifier).
- This was England's first defeat in a European Championship qualifier since losing 3-2 at Wembley against Croatia in November 2007.
- Harry Kane has scored 20 goals in 21 matches for England when starting as captain - the only player with more is Vivian Woodward (23 goals between 1908 and 1911).
- Excluding shoot-outs, no player has scored more penalties for England than Kane (9 - level with Frank Lampard).
- Gareth Southgate (W21 D9 L8) has lost as many games as England manager in 38 matches as Roy Hodgson lost in 56 (W33 D15 L8).
England will look to bounce back when they go away to Bulgaria on Monday, the same day Jaroslav Silhavy's side host Northern Ireland in a friendly.