Two-time defending Olympic champion Michael Phelps held off Ryan Lochte to win the 200m medley at the US swimming trials, setting up another duel in the London Games pool.
It was another thriller between 14-time Olympic gold medallist Phelps and the man who has emerged as his greatest rival.
Phelps, celebrating his 27th birthday, led by a narrow margin at every turn, but the two swam stroke-for-stroke on the final freestyle lap with Phelps gaining the victory in 1min 54.84sec.
"The bigger races are down the road," Phelps said, already thinking ahead to the Olympics. "I'm sure that's not going to be the end of us going back and forth."
"I'm just happy to be able to have a good race like that," added Phelps, who lost the 400m medley to Lochte here but edged him in the 200m freestyle final.
Lochte, who holds the world record in the 200m medley, was second in 1:54.93, showing no sign of fatigue about half an hour after he secured a berth to defend the 200m backstroke gold he won in Beijing.
In the backstroke, Lochte shrugged off a sluggish start, powering off the last turn and overtaking Tyler Clary to win in 1:54.54. Clary was second in 1:54.88.
Only Japan's Ryosuke Irie has gone faster than the two Americans this year.
Lochte returned one last time, notching the equal sixth-fastest time in the 100m butterfly semi-finals that Phelps led with a time of 51.35.
Phelps is the world record-holder and two-time Olympic gold medallist in the 100m fly, but it's unfamiliar territory for Lochte.
Both Phelps and Lochte have qualified for four individual events -- the 200m and 400m medleys and 200m free for both and the 200m butterfly and 200m backstroke for Lochte.
Jessica Hardy, denied a Games berth in the 100m breaststroke in which she holds the world record, responded with a victory in the 100m freestyle in 53.96sec.
Teenager Missy Franklin continued to build her Olympic schedule, finishing second in 54.15 to add the event to the 200m free and 100m backstroke already on her London slate.
Franklin could yet add more events to her Olympic card -- up to seven including relays -- after topping the times in the semi-finals of the 200m backstroke.
"The goal coming in was to make the team," Franklin said. "I could have never dreamed of doing seven events and the fact it's a possibility is unbelievable."
Natalie Coughlin's hopes of closing out an illustrious Olympic career with an individual race ended with a sixth-placed finish in the 100m free.
Coughlin, winner of the 100m backstroke at the past two Games, failed to qualify in that event or the 100m butterfly, but she likely will go to London as a potential relay swimmer with a chance to add to her total of 11 Olympic medals.
Beijing gold medallist Rebecca Soni won the 200m breaststroke in 2:21.13, improving on her own world-leading time of the season.
Displaying her patented late surge, Soni pulled away on the final lap to defeat Micah Lawrence, who seized the second London berth in 2:23.03.
"I'm always a little nervous to push it too soon," Soni said. "I felt great the first 100, nice and long.
"I know I've trained the hardest I can, so if I can hopefully bring home a gold, that would be amazing."
Amanda Beard was denied a trip to a fifth Olympics, finishing fifth in 2:26.42.
In semi-final action, Anthony Ervin, mounting a comeback at the age of 31 -- 12 years after sharing Olympic gold in Sydney with team-mate Gary Hall jnr -- led the way into the men's 50m free final with an impressive time of 21.71sec.
Nathan Adrian and Josh Schneider finished in a dead-heat for first place in the other semi-final in 21.81.