The 20-year-old Spaniard covered 22 laps of the 3.358-mile Brno circuit in 42 minutes, 50.729 seconds to become the youngest rider to claim four consecutive races.
In his maiden MotoGP season, Marquez leads the standings with 213 points, followed by Pedrosa with 187. Jorge Lorenzo is third with 169 with seven races to go.
Pedrosa, who won in Brno last year, was 0.313 seconds behind while Lorenzo finished third on a Yamaha, 2.277 behind Marquez.
Starting third on the grid, Marquez chased defending world champion Lorenzo until he made the decisive pass with seven laps to go and stayed ahead for his fifth victory of the season.
With the win in Brno, Marquez broke Kenny Roberts’ single-season rookie record set in 1978.
Seven-time world champion Valentino Rossi finished in fourth place, 10.101 seconds off Marquez’s pace.
Finland’s Mika Kallio won the Moto2 race for his first victory in this category while Briton Scott Redding retained his overall lead despite an eighth place finish.
Luis Salom won the Moto3 category to increase his overall lead.Czech Grand Prix, Dani Pedrosa, Marc Marquez, MotoGP, Video