Andretti Autosport's Tony Kanaan took his first IndyCar victory since June 2008 as he overcame Penske's Helio Castroneves in a closely-fought race at Iowa Speedway.
Long-time leader Dario Franchitti was denied by late-race gearbox problems, while Scott Dixon and Will Power both faded after fighting for the lead. As they did, EJ Viso charged through to a career-best third - making up for KV Racing's disappointment when his team-mate Takuma Sato crashed out of the same spot.
Polesitter Power had led the early running for Penske under pressure from the battling Marco Andretti (Andretti) and Dixon (Ganassi), while Franchitti got off to a quiet start and fell as low as sixth.
Power's tenure up front abruptly ended on lap 33 when his Penske Dallara's handling went awry and he started tumbling down the order. It was Andretti who took up the lead, but 10 laps later he ran into similar difficulties and went into even more dramatic freefall down the field.
By then the Ganassi duo were in position to benefit, Franchitti having climbed to second ahead of Dixon. There was no hint of team orders as they went head to head up front, with the two red cars repeatedly swapping places over the next two stints.
Along the way, Dixon survived a pitlane traffic jam that resulted in firm contact between him, Kanaan and Castroneves, which saw the latter briefly airbourne but all three cars escape significant damage.
As the Ganassi drivers diced after a mid-race restart following a crash for Sarah Fisher, Andretti Autosport duo Kanaan and Ryan Hunter-Reay joined in and got between them, with Kanaan - up from 15th on the grid - then embarking on a long lead dice with Franchitti that saw them take turns in first as they sliced through traffic.
Behind them, Takuma Sato - who had been on the fringe of the top six all afternoon - suddenly picked up pace and passed Hunter-Reay and Dixon in quick succession to take third. But he had only just got there when he understeered into the wall while lapping Alex Lloyd's Dale Coyne car.
Everyone made their final pitstops under the next yellow, and Kanaan lost ground when Hunter-Reay clipped his left front, fortunately without harm to the tyre changer.
While Kanaan fell to third, quick Penske pit work got Castroneves up to second behind Franchitti - which became the lead when the Ganassi Dallara's gearbox malfunctioned 43 laps from the end.
That set up a final shoot-out between Castroneves and Kanaan. When Castroneves held on through a close call as they lapped Kanaan's team-mate Andretti, it looked like he had secured enough breathing space to claim the win. But with 10 laps to go Kanaan mounted a final surge and slipped through on the inside and then charged away to finally end his victory drought.
Castroneves held on to second ahead of Viso, who crept into contention as the race progressed. Ryan Briscoe had a quiet run to fourth ahead of his Penske team-mate Power, while Dixon faded to sixth.
The last unlapped car was Vitor Meira, who produced an excellent performance to give AJ Foyt's team seventh place.
Hunter-Reay's pit incident dropped him to eighth, while Graham Rahal's debut for Dreyer & Reinbold saw him briefly lead when out of sequence on strategy and eventually finish ninth ahead of Danica Patrick.
Rahal's team-mate Justin Wilson's race ended on the first lap when he spun and collected Mario Moraes' KV car.
Pos Driver Team Time/Gap 1. Tony Kanaan Andretti 1h42m12.4036s 2. Helio Castroneves Penske + 4.2030s 3. EJ Viso KV + 5.2538s 4. Ryan Briscoe Penske + 9.0536s 5. Will Power Penske + 9.5902s 6. Scott Dixon Ganassi + 15.2683s 7. Vitor Meira Foyt + 16.8703s 8. Ryan Hunter-Reay Andretti + 1 lap 9. Graham Rahal Dreyer & Reinbold + 1 lap 10. Danica Patrick Andretti + 1 lap 11. Dan Wheldon Panther + 1 lap 12. Alex Tagliani Fazzt + 2 laps 13. Alex Lloyd Dale Coyne + 2 laps 14. Raphael Matos De Ferran Dragon + 3 laps 15. Marco Andretti Andretti + 6 laps 16. Mario Romancini Conquest + 6 laps 17. Bertrand Baguette Conquest + 13 laps Retirements: Dario Franchitti Ganassi 212 laps Takuma Sato KV 177 laps Hideki Mutoh Newman/Haas 131 laps Simona de Silvestro HVM 128 laps Sarah Fisher Sarah Fisher 92 laps Milka Duno Dale Coyne 31 laps Justin Wilson Dreyer & Reinbold 0 laps Mario Moraes KV 0 laps