Michael Phelps won the 100m butterfly at the US Olympic swimming trials on Sunday to give himself a chance to match his glittering eight-gold haul of 2008 at the London Games.
Phelps, the two-time defending Olympic champion, was sluggish off the blocks and was sixth at the turn but powered home to win in 51.14sec.
Phelps was nowhere near his world record of 49.82sec, but he was fastest in the world this year in what he said was a technically flawed race.
"It was a pretty crappy first 50 and a pretty terrible finish," Phelps said.
Tyler McGill was fourth at the turn, but won the battle for second ahead of multiple medal contender Ryan Lochte in 51.32.
"It's done, we're done," Phelps said of his trials campaign, although of course he hopes the best is yet to come in London.
"It shows that I can do the kind of event program like this at a high level again.
"We were struggling over the last couple years at doing one event at this level. (It's good) being able to get a couple under the belt this week and hopefully build off of this."
Lochte, who rarely swims the event, was a creditable third in 51.14, and said even if he'd snagged one of two Olympic spots on offer he wouldn't have tackled the event in London because it would require the punishing treble he swam in Omaha on Saturday of the 100m fly, 200m backstroke and 200m individual medley.
For McGill, however, it was London or bust.
"I just had to make a decision this morning that I was going to London and stick to it," McGill said, saying his coach had told him not to approach the final "hoping" or wishing".
"Nothing was going to get in the way of my goal," McGill said.
Phelps, who won an unprecedented eight gold medals in Beijing four years ago, now has a shot at swimming the same eight events in London: five individual events and three possible relays.
Lochte is slated for four individual events plus some relays, while 17-year-old superstar Missy Franklin is poised to become the first US woman to swim seven events at the Games after her triumph in the 200m backstroke.
Franklin's convincing victory in 2:06.12 gave her a fourth individual event.
She posted the fastest time in the world this year and beat runner-up Elizabeth Beisel (2:07.58) by more than a second.
"I'm so happy with my 200 backstroke," said Franklin, the world champion in the event, who will swim three relays in her first Olympics.