The Repsol Honda rider got the better of Yamaha's Jorge Lorenzo on the very last corner of the race to take his third win of the season.
The Spaniard now trails Lorenzo by just 13 points in the riders' standings with six races remaining.
Third place went to Cal Crutchlow, marking the first time a Briton has finished on the podium at this level since Jeremy McWilliams at the 2000 British Grand Prix.
Crutchlow, who signed a new one-year contract extension with Tech 3 Yamaha on Saturday, has threatened to land his maiden podium finish on several occasions this season and was delighted to finally get the job done on Sunday.
"I am elated, and we have proved a lot of people wrong. We have finally got there," He told BBC Sport.
"There has been a lot of pressure on me to do it all season and hopefully I can continue it now."
Pole-sitter Lorenzo held the lead off the start from Pedrosa, with Crutchlow dropping quickly to third place from his career-best second on the grid.
The front two soon pulled away from the Briton and diced all the way to the flag. Matters came to a head on the final lap when Lorenzo muscled past Pedrosa only for the Honda rider to hit back.
There was nothing between the two as they went into the final turn, but it was Pedrosa who found the better drive out of the corner to take a thrilling win by just 0.178 seconds ahead of his compatriot.
Watch: Pedrosa wins thrilling Czech GP... More Videos
Crutchlow's team-mate Andrea Dovizioso took fourth place, ahead of Stefan Bradl (LCR Honda), Alvaro Bautista (Gresini Honda), Valentino Rossi (Ducati) and Randy de Puniet (ART).
Meanwhile, British World Superbike rider Jonathan Rea is poised to step up to the premier class after it was confirmed on Sunday that he will join up with Repsol Honda for both Monday's test at Brno and the two-day test at Aragon on September 4-5.
The Northern Irishman is poised to ride for the team at the next two rounds in Misano and Aragon as the replacement for Pedrosa's team-mate, reigning champion Casey Stoner, who has returned to Australia for surgery on the ankle he badly injured in an accident at Indianapolis last weekend.