Spain's Jorge Lorenzo won the Indianapolis MotoGP to cut Valentino Rossi's championship lead to 25 points as the world champion failed to finish.
Dani Pedrosa set the early pace before skidding off on lap four, leaving Rossi and Lorenzo to battle for the lead.
Two laps later Lorenzo had gone ahead when the Italian skidded off and out.
Lorenzo, who failed to finish in the last two races, came home nine seconds ahead of Alex de Angelis in second with home favourite Nicky Hayden in third.
Pedrosa did superbly to come back and finish in 10th place, and Britain's James Toseland boosted his chance of earning a new contract with the Tech 3 Yamaha team by equalling his career-best sixth place finish.
With five races of the season left, Lorenzo has cut Rossi's championship lead to just one win's-worth of points.
Afterwards, Lorenzo told BBC Sport he was happy to have luck go his way for a change.
"The last races have been very bad results for us, when I crashed in both of them, but today it happens to the others," he said.
"In this championship, if you want to win you have to be always at the limit. My bike was really good and I was riding OK."
Ducati rider Hayden was equally thrilled after struggling for much of the season.
Toseland hopes to keep Tech 3 ride
"It's not a win, but it feels like one," he said.
"This season has been so hard, the hardest challenge of my life, but we're on our way.
"I was on the limit but I wasn't going to bring home anything less than a podium."
In a fiercely contested 125cc race, Britain's Bradley Smith was just edged into second place by Pol Espargaro, who recorded his first career victory.
Simone Corsi was third, with championship leader Julian Simon, who had started from pole position before slipping back to 10th place, coming home in fifth.
Marco Simoncelli recorded victory in the first-ever 250cc race at the Brickyard.
He kept alive his hopes of retaining his world title by coming home two seconds ahead of championship leader Hiroshi Aoyama, with Alvaro Bautista in third place.
Indianapolis MotoGP result (times to follow):
1 J Lorenzo (Sp) Fiat Yamaha 47'13.592 2 A de Angelis (RSM) Gresini Honda 47'23.027 3 N Hayden (USA) Ducati 47'26.539 4 A Dovizioso (Ita) Repsol Honda 47'27.070 5 C Edwards (USA) Tech 3 Yamaha 47'39.846 6 J Toseland (GB) Tech 3 Yamaha 47'46.000 7 L Capirossi (Ita) Rizla Suzuki 47'47.992 8 M Kallio (Fin) Ducati 47'48.448 9 T Elias (Sp) Gresini Honda 47'58.597 10 D Pedrosa (Spn) Repsol Honda 47'58.597 11 C Vermeulen (Aus) Rizla Suzuki 47'59.070 12 R de Puniet (Fr) LCR Honda 48'05.886 13 A Espargaro (Sp) Pramac Racing 48'17.144 14 G Talmacsi (Hng) Scot Racing 48'28.678
1 V Rossi 212 2 J Lorenzo 187 3 C Stoner 150 4 D Pedrosa 141 5 C Edwards 123 6 A Dovizioso 120 7 A de Angelis 88 8 L Capirossi 86 9 R de Puniet 84 10 M Meldandri 79 11 C Vermeulen 77 12 N Hayden 73 13 J Toseland 72 14 T Elias 70 15 M Kallio 42 16 N Canepa 32 17 S Gibernau 12 18 G Talmacsi 10 19 Y Takahashi 9 20 A Espargaro 3
125cc race result:
1 P Espargaro (Spn) Derbi 42'07.925 2 B Smith (GB) Aprilia 42'08.045 3 S Corsi (Ita) Aprukua 42'08.373 4 N Terol (Spn) Aprilia 42'09.538 5 J Simon (Spn) Aprilia 42'09.726
1 J Simon 185 pts 2 N Terol 132.5 3 B Smith 131.5 4 S Gadea 112 5 A Iannone 109.5
250cc race result:
1 M Simoncelli (Ita) Gilera 45'43.599 2 H Aoyama (Jpn) Honda 45'45.542 3 A Bautista (Spn) Aprilia 45'48.260 4 M Di Meglio (Fra) Aprilia 45'56.375 5 R Locatelli (Ita) Gilera 45'59.074
1 H Aoyama 192 2 A Bautista 176 3 M Simoncelli 165 4 H Barbera 133 5 M Pasini 100
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.