Lewis Hamilton took his second US Grand Prix victory in succession - the first in 2007 at Indianapolis - from a clearly disappointed Sebastian Vettel.
Hamilton drove the race of his life to avenge a cruel Singapore loss caused by car failure.
Despite Mark Webber's Red Bull expiring with an alternator problem, Red Bull took the Constructor's Championship with Vettel's second place while Fernando Alonso kept in himself in the title chase with third place.
Practice and Qualifying
The Circuit of Americas in Texas threw up a surprise by being quite a bit cooler than had been expected, with Pirelli's conservative tyre choice causing consternation up and down pit lane as drivers struggled to get enough heat into their rubber.
Red Bull's Sebastian Vettel dominated practice and qualifying, but Lewis Hamilton, in his second-last event for McLaren, lurked threateningly.
Vettel took pole as expected while his teammate settled for third, wisely avoiding the slippery, dirty side of the grid.
Jenson Button had a nightmare qualifying when his throttle failed, leaving him 12th. Daniel Ricciardo could only manage 18th while Abu Dhabi winner Kimi Raikkonen surprised himself with fifth, which became fourth after his teammate's penalty.
Romain Grosjean suffered a five place penalty for a gearbox change and Ferrari broke a seal on Felipe Massa's gearbox in order to move Alonso to the clean side of the grid to improve his chances of a good start.
Vettel and Webber both got a fantastic start, the Australian taking a hugely wide line to get around Hamilton at turn one. Nico Hulkenberg fought Kimi Raikonnen hard into turn one, forcing the Lotus driver off track.
Vettel's first lap put him seven-tenths ahead of Webber who in turn was a second ahead of Hamilton. Alonso got a good start, picking up a place by passing Schumacher who spent the rest of the race going backwards.
Hamilton dive-bombed Webber on lap 3 at turn 16, but the Briton was unable to pull up in time, sliding wide and allowing Webber off. A lap later he got past the Australian with DRS, and set off after Vettel.
Back in the pack, Jenson Button recovered from a terrible start that put him behind the Williams cars of Maldonado and Senna and Vergne's Toro Rosso. He was gifted a place by Romain Grosjean who then spun off all on his own, just avoiding getting beached in the gravel.
Button soon passed Michael Schumacher with a brave move, the veteran German making life difficult for the McLaren driver.
Lewis Hamilton was determined to give the American fans a race and on lap 9 punched in the fastest lap, taking half-a-second out of Vettel.
Behind Webber, Alonso was also beginning to reel in the Aussie's Red Bull after passing the Force India of Hulkenberg.
Massa, too passed a Force India, Paul di Resta's, the Brazilian enjoying a speed advantage his teammate seemed to have to work harder for.
Raikkonen and Hulkenberg enjoyed a two-lap battle, the Force India's Mercedes power almost keeping the DRS activated Lotus behind him for a third lap.
Raikkonen eventually passed him on the outside after getting alongside the German at turn one and then staying there through the esses.
Kobayashi was the first to put on lap 14, switching from the medium tyre to the hard.
The Williams drivers continued their good showing, with Maldonado passing Schumacher.
Hamilton closed in on Vettel, his top-speed hugely faster than Vettel's Red Bull.
Jean Eric Vergne ended in the gravel with a broken steering arm, a result of an entertaining scrap with both Mercedes.
Mark Webber once again got the call from his Red Bull team to tell him that he had a KERS failure. Moments later, he coasted to a stop, the Australian disconsolately staring at the car for a few seconds before trudging away.
The team blamed the failure on the Renault engine's alternator.
"It was the alternator ultimately in the end. So we lost the batteries on the car, we lost KERS, we lost our gearbox sync," Webber said.
"The laps before I retired I was in trouble and we knew it was a long way home from there.
This allowed Fernando Alonso into third, albeit almost 14 seconds behind Hamilton.
The McLaren driver began to fall back from Vettel, his tyres going away from him in protest. He pitted on lap 20 for a new set of hard tyres and Alonso came in behind him as Hamilton departed from his lightning-fast stop.
Alonso's stop was poor, a sticking right rear causing him grief and dumping him in the clutches of Button.
Vettel responded on the next lap and was stationary for just 2.7 seconds as the Red Bull team bolted on a set of hard tyres.
Button came over all combative, picking off both Senna and Perez on the same lap in a pair of brave moves. That put him behind Alonso, who was struggling on the new tyres while Button's 23 lap old tyres were holding together beautifully.
Button sailed past the Ferrari on lap 23, the DRS perhaps a little too effective at the Austin track.
Hamilton was again threatening the number one Red Bull as the Briton passed Kimi Raikkonen.
Raikkonen duly pitted and had a rotten stop, allowing Alonso past as he rejoined the track. He was then passed by Daniel Ricciardo, who was yet to stop.
Hamilton attacked Vettel again on lap 32, taking almost two seconds out of Vettel's lead over two laps.
By lap 35, he was inside the DRS zone, the McLaren bearing down on the Red Bull at turn 12.
Jenson Button finally pitted for the first time on lap 35, taking on a set of the softer medium compounds. The team had left it a little too long, Button ending up behind Massa.
The move for the lead finally came on lap 42 as Vettel was caught out a little by traffic. Hamilton was right behind the Red Bull and his DRS open, Vettel blocking as best he could and coming very close to running into the front left of the McLaren.
The German was on the radio straight after the pass, complaining that Hamilton's move was a result of being held up by Narain Karthikeyan.
Button was having a harder time behind Kimi Raikkonen in the battle for fifth, the two battling hard with the cars seemingly equal on pace. Button eventually forced his way past on the outside at turn 14.
The Ferrari of Alonso seemed to come to the Spaniard in the closing laps as the double-world champion set the fastest lap on lap 45. Massa was having the best race of the year, coming back to the gearbox of his teammate despite starting a long way behind.
McLaren's Jenson Button had run into trouble with KERS and radioed the team to complain that he wanted to use all of the power boost in the system.
Hamilton led Vettel home in an unlikely victory after the dominance of the Red Bulls in practice and qualifying.
"When Seb [Vettel] was delayed by a backmarker, I knew I had to grab my chance, so I turned the engine up to maximum revs and pushed like crazy. I'm massively proud and extremely happy," Hamilton said.
Fernando Alonso stays in the championship to take it down to the wire in Brazil, trailing Vettel by 13 points.
"Today we knew we had a good chance. I tried to overtake people at the first corner and then the pace improved and we were in the leading group," Alonso said.
Jenson Button finished in fifth behind Felipe Massa while the two Lotuses finished together in sixth and seventh, followed by Hulkenberg, Maldonado and Senna.
Daniel Ricciardo eventually finished twelfth, despite getting well into the top ten before his stop.
The 2012 Formula One World Championship concludes next weekend at the Brazilian Grand Prix at Interlagos in Sao Paulo.
- Hamilton - McLaren-Mercedes 1h35:55.269
- Vettel - Red Bull-Renault + 0.600
- Alonso - Ferrari + 39.200
- Massa - Ferrari + 46.000
- Button - McLaren-Mercedes + 56.400
- Raikkonen - Lotus-Renault + 1:04.400
- Grosjean - Lotus-Renault + 1:10.300
- Hulkenberg - Force India-Mercedes + 1:13.700
- Maldonado - Williams-Renault + 1:14.500
- Senna - Williams-Renault + 1:15.100
- Perez - Sauber-Ferrari + 1:24.300
- Ricciardo - Toro Rosso-Ferrari + 1:24.800
- Rosberg - Mercedes + 1:25.500
- Kobayashi - Sauber-Ferrari + 1 lap
- Di Resta - Force India-Mercedes + 1 lap
- Schumacher - Mercedes + 1 lap
- Petrov - Caterham-Renault + 1 lap
- Kovalainen - Caterham-Renault + 1 lap
- Glock - Marussia-Cosworth + 1 lap
- Pic - Marussia-Cosworth + 2 laps
- De la Rosa - HRT-Cosworth + 2 laps
- Karthikeyan - HRT-Cosworth + 2 laps
- Webber - Red Bull-Renault
- Vergne - Toro Rosso-Ferrari