Aston Villa striker Libor Kozak put the visitors ahead in the 19th minute before Giorgio Chiellini equalised shortly after the re-start.
Mario Balotelli scored the winner from the penalty spot in the 54th minute after he was brought down by Gebre Selassie in the box.
The Czechs ended the game down to 10 men after substitute Daniel Kolaf was sent off with one minute remaining for a double booking.
The victory leaves Italy unbeaten in Group B and seven points clear of nearest rivals Bulgaria, who beat Malta 2-1 earlier today.
The Italians have now won six of their eight qualifying matches and clinched their place in next year's tournament in Brazil with two games to spare.
The victory at the Juventus stadium was doubly special for Italy captain Gianluigi Buffon as he equalled the record of 136 international appearances set by former Azzurri defender Fabio Cannavaro.
Italy coach Cesare Prandelli started with Balotelli in attack, with the player having missed last week's qualifier against Bulgaria through suspension.
The home side had their first chance in the 12th minute when a poor clearance from Marek Suchy allowed Balotelli to surge into the area and struck the ball towards the far post but his effort was saved by Czech goalkeeper Petr Cech.
Kozak then silenced the crowd when he got behind Petr Jiracez's cross and his acrobatic effort beat Buffon.
Balotelli should have equalised midway through the first half but his bullet strike from six yards hit the crossbar.
The former Manchester City striker then wasted another good chance in the 25th minute when he struck the ball over the bar from close range after Cech failed to hold onto Antonio Candreva's effort.
Italy continued to dominate possession but struggled to turn that into goals.
In the 36th minute, Balotelli got past his marker and put his head to Andrea Pirlo's cross.
The header was kept out by Cech to again leave the hosts frustrated.
The Chelsea goalkeeper was then forced into a full-length stretch to save Candreva's powerful strike from just outside the area.
In the 37th minute, Kolar replaced Tomas Rosicky after the Arsenal player sustained a thigh injury.
The Czechs could have gone into the break 2-0 up had Kozak's volley not gone just wide of the far post.
Italy pushed forward after the re-start and were rewarded in the 51st minute when Chiellini got past his marker and powerfully headed home from Pirlo's corner to beat Cech.
The hosts went in front three minutes later when the referee pointed to the spot after Selassie pulled down Balotelli.
Balotelli coolly struck the ball towards the left-hand corner of goal sending Cech the other way to put the Azzurri in front.
Stunned, the Czechs reacted and in the 67th minute Buffon was forced to fully stretch to clear Jiranek's left-footed strike from the edge of the area.
One minute from time, Cech cleared Balotelli's central effort as Italy held on for a crucial win.
With the setback, the Czechs fell to fourth place - four points adrift of second-place Bulgaria.