Pedrosa took the win ahead of the factory Yamaha of former champion and current points leader Jorge Lorenzo and the Monster Tech 3 Yamaha of Andrea Dovizioso.
Fourth went to Pedrosa's team-mate and defending champion Casey Stoner who defied the pain of a broken ankle to take part in the race.
Stoner suffered several fractures to his ankle and leg and torn ligaments in a spectacular crash during qualifying on Saturday but was given painkillers after doctors decided he was fit enough to race on Sunday.
After starting in sixth he moved up to third before Dovizioso passed him late in the race to take the final podium spot.
Pedrosa had to battle early on with the factory Yamaha of Ben Spies but the American was forced out of his home race when his machine broke down, spraying oil on the circuit.
Watch: Pedrosa victorious in Indianapolis.. More Videos
The Spaniard went on to take a comfortable win ahead of fellow countryman Lorenzo, with the positions reversed in the championship standings as Lorenzo now leads by 18 points.
Despite being passed by Dovizioso for third in the race, Stoner lies in third the standings with the Italian behind him in fourth.
Fifth in the race went to Alvaro Bautista on the San Carlo Gresini Honda, with Stefan Bradl sixth on the LCR Honda.
Multiple champion Valentino Rossi was seventh on the factory Ducati in his first race since it was announced he would return to race for Yamaha alongside Lorenzo next season.