Michael Phelps' rocky season took another turn for the worse on Tuesday when the 14-time Olympic gold-medallist was stunned in the world championships' 200m freestyle by US team-mate Ryan Lochte.
Lochte surged from third place over the last 100 metres to finish in 1min 44.44sec, 0.35 ahead of Phelps with Germany's Paul Biedermann, the defending champion and world record-holder, third.
The result means Phelps, the Olympic champion and former world record-holder in this event, fails to regain the crown he lost to supersuit-wearing Biedermann two years ago.
“Michael and I have been battling head-to-head for almost eight years now,” said Lochte. “It's been going back and forth and it's definitely been a good rivalry.
“He's a great competitor. He's one of the world's great swimmers. I'm just privileged to swim on the same team, even the same event.”
Phelps remains on course for a possible five gold medals in Shanghai, which would match his haul in Rome two years ago. He claimed bronze on Sunday when the United States suffered a rare defeat in the 4x100m freestyle relay.
Meanwhile Zhao Jing secured China's second swimming gold in another upset win when she beat Olympic title-holder Natalie Coughlin into third place in the women's 100m backstroke.
Zhao finished in 59.05sec, just one-hundredth of a second faster than 2009 silver-medallist Anastasia Zueva of Russia, with America's Coughlin third.
“The really difficult thing about backstroke is you never really know where you are in the race. In prelims yesterday morning I thought I was in fourth place and I was ahead, Coughlin said.
The win for Zhao, 20, follows 15-year-old Ye Shiwen's stunning triumph for China in the women's 200m individual medley, when she shocked the reigning world and Olympic champions on Monday.