Rookie Alexander Rossi took the lead as drivers in front of him pitted with about four laps to go to win the 100th edition of the Indianapolis 500 on his debut in the famous race on Sunday.
Californian Rossi and his Andretti Autosport team gambled by staying on the track for the last 36 laps on one tank of fuel.
His number 98 Honda ran out of gas right after the chequered flag dropped.
"I'm out of fuel, guys," Rossi, who needed a tow to get to Victory Circle, told his crew.
Rossi began the day in 11th position on the Indy 500 starting grid and in 17th place in the IndyCar point standings. His best finish prior to winning the Indy 500 was 10th place in the Indianapolis Grand Prix on the Indy Motor Speedway's road course a fortnight ago.
"I have no idea how we pulled that off," Rossi said in his post-race interview with ABC.
The race featured 55 lead changes, second-most to the 68 in 2013, the Indy Star revealed.
Rossi's Andretti Autosport team-mate Carlos Munoz finished second. Josef Newgarden came in third, ahead of Tony Kanaan and Charlie Kimball, who finished in fourth and fifth place respectively.
Three-time champion Helio Castroneves finished in 11th and two-time champion Juan Pablo Montoya was last.
"Montoya's bid for back-to-back Indy 500 victories ended when he lost control and crashed his Team Penske Chevrolet on the 64th lap.
Castroneves was in fourth place on lap 161 when he was clipped by JR Hildebrand and sustained damage around his left rear wheel.