Gresini Honda's Marco Simoncelli likewise slipped from fifth in the early stages to twelfth at the flag, while fellow Italian Valentino Rossi
had a strange race.
The seven-time world champion - who had qualified just 14th after a crash in qualifying - ran tenth in the early stages, was then passed by Hector Barbera, and looked on the verge of retirement as he dropped to last place.
But the Italian recovered to claim tenth at the chequered flag, in a race where only satellite Ducati riders Barbera, Karel Abraham and Loris Capirossi
failed to finish.
Barbera crashed at the final turn, on the final lap, while trying to pass Aoyama for ninth, while Abraham and Capirossi pulled into the pits.
Alvaro Bautista claimed a solid sixth for Suzuki, with Monster Yamaha Tech 3's Colin Edwards
the leading satellite rider, in front of his home fans, in seventh.
Pramac's Randy de Puniet
and Gresini's Aoyama separated Edwards and Rossi, with rookie Cal Crutchlow 1.8sec behind The Doctor.
The San Marino Grand Prix takes place at Misano next weekend.
Indianapolis Grand Prix:
8. de Puniet