Arrow McLaren driver O'Ward jumped to the outside of Josef Newgarden’s Team Penske machine heading to the white flag and snatched the top spot entering Turn 1.
But the Mexican couldn't fend off Newgarden's return challenge, as the defending event winner delivered his own outside pass to reclaim the lead at Turn 3 en-route to victory.
The result was O’Ward's second runner-up finish from his last three Indy 500 starts, having also finished on the wrong end of a last-lap battle with Marcus Ericsson in 2022.
Left watching the celebrations from afar with tears in his eyes, the 25-year-old reflected that he wasn't sure anything could have been done differently on the last lap.
"I don't think you can control that,” said O’Ward, who battled flu throughout the week leading up to the race.
“I think in a way, I've cracked a code and I know how to position myself to win this race.
“I know I can win this race, and I know that I know how to also protect a good result when maybe the win isn't on the cards for me.”
O’Ward described the race as “a constant emotional rollercoaster” and praised his team for calling “a really good strategy to then get ourselves back to the front” with a strong overcut that put him into contention.
“Trying to get into the top two cars the last few laps, it’s so hard to do with these cars,” he said. “You're just stuck there, and you have to risk so much.
“I think on both fronts, on Scott [Dixon] and Alex [Rossi], I was like probably higher probability of shunting the car than getting back in one piece.
“But that's what you have to do, I guess. Today we're second.”
Reflecting on “a stressful race,” O’Ward admitted that his car “definitely wasn't the easiest to drive at certain moments”.
“I just tried to keep pace as much of the race as I could, I feel like I did,” he said.
“[I was] really prepared to open the doors to ultimately have a chance to win at the end of this, and yeah, it's just heartbreaking. Two corners short.
“I'm glad that we finished the race. Congratulations to Josef, two in a row. But yeah, I put that car in certain points where I didn't know if I was going to come out the other end and in one piece because I just want to win this race so freaking bad.
“It owes me nothing, so every time we come back, there's always a smile on my face to have another opportunity.”
O’Ward led for a total of 12 laps but lamented not leading the lap that counted.
“It's been a tough month,” added O’Ward, who started eighth. “So much goes into this race. I think I'm somebody that wears my heart on my sleeve. I don't really hide anything.
“It's just when you've come so close and it just doesn't seem to... you just can't seem to get it right, it's just a lot of emotion.”