Robbie Keane hit a dramatic winner in the second minute of injury-time to end the Czech Republic's long unbeaten run in an entertaining game in Dublin.
Keane turned to fire the ball home from six yards out after Alan Lee pulled the ball back from the right.
Ian Harte had put the Republic ahead when he drove home a free-kick but Liverpool striker Milan Baros equalised when he poked the ball home.
The result was the Czechs' first defeat in 20 games dating back to late 2001.
After a quiet opening 15 minutes, some Damien Duff trickery produced a great chance for Kevin Kilbane in the 27th minute but the Everton man headed wide.
Alan Maybury then came to Ireland's rescue in the 32nd minute by clearing a Rene Bolf header off the line with Shay Given struggling.
A minute before half-time, Robbie Keane missed a great chance to put the Republic ahead when he failed to connect properly with a Kilbane cross.
The Czechs made four changes at half-time with Pavel Nedved and Jan Koller among those withdrawn but Brian Kerr opted to wait a little longer before rejigging his side.
Keane produced a moment of magic by turning his marker and then firing in a swerving shot which Czech goalkeeper Petr Cech did well to turn wide.
From Reid's corner, Gary Doherty produced a powerful header which came off the woodwork with Clinton Morrison just failing to get enough purchase on the rebound.
52 mins: Ian Harte powers the Irish ahead with a free kick
80 mins: Milan Baros levels for the Czech after hesitation in the home defence
90 mins: Robbie Keane wins it in injury-time
The positive Irish start to the second half was rewarded with Harte hitting the net from a superb curling free-kick after Morrison had been fouled on the edge of the Czech penalty area.
A minute later, Harte came to his side's rescue at the other end of the field by clearing Roman Tyce's shot off the line with Given beaten.
The Irish then lost defender Doherty in the 70th minute with the Tottenham player stretchered off after appearing to sustain an ankle injury.
A reshuffle saw Matt Holland dropping back to the Irish defence with Celtic's Manchester United-bound youngster Liam Miller coming on to win his first cap.
The Irish then received a major let-off four minutes later when the unmarked Baros blazed wildly over the bar from only eight yards out.
However, Baros made amends 10 minutes from time when he nipped in ahead of a hesitant Given to stab home after a seemingly aimless ball had been lofted into the Irish box.
Substitute Alan Lee twice went close for the Irish but stranded substitute goalkeeper Paddy Kenny was then almost caught out by a Jiri Stajner effort from distance.
The Irish then had the ball in the Czech net but the effort was ruled out as it had come direct from a Rory Delap throw-in.
However, the Irish won the game in injury-time with Keane hitting the target after Lee's physical presence had caused panic in the Czech defence.
Rep of Ireland: Given (Kenny 82), Maybury, Cunningham, Doherty (Miller 70), Harte, Andy Reid (Delap 65), Holland, Kilbane, Duff (Kinsella 77), Keane, Morrison (Lee 77).
Subs not used: Murphy, Kelly, Thompson, Carsley.
Booked: Kilbane, Lee.
Czech Republic: Cech (Vaniak 46), Bolf (Rozehnal 58), Ujfalusi, Jankulovski, Sionko (Stajner 46), Galasek, Tyce, Jiranek (Plasil 69), Nedved (Heinz 46), Baros (Vorisek 84), Koller (Lokvenc 46).
Subs not used: Kinsky, Grygera.
Referee: E K Fister (Denmark).