Repsol Honda Team's Spanish rider Dani Pedrosa steers his bike during the Malaysian Grand Prix MotoGP motorcycling race at the Sepang circuit on October 13, 2013. (AFP/Mohd Rasfan)
The two Spanish Honda teammates came in ahead of defending champion and compatriot Jorge Lorenzo on the Yamaha.
The win marks Pedrosa's third victory of the season. He also triumphed in Malaysia last year.
"It's a great feeling to be back," said Pedrosa, who crashed out in the last race in Spain. "I came back strong."
It was a hard-fought race for all three.
Rookie Marquez, 20, was on pole, but Lorenzo took the lead after starting from fourth place.
He in turn was overtaken by Pedrosa, who started from fifth, in lap 5.
This sparked a thrilling battle between Lorenzo and Marquez for second place.
Marquez, who Lorenzo knocked once, eventually gained the upper hand with 11 laps in the 20-lap race to go.
Lorenzo's teammate, seven-time world champion Valentino Rossi of Italy, finished fourth after starting from second place.
The world championship rankings remain unchanged with Marquez on top, followed by Lorenzo and Pedrosa.
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional