Ian Crocker set a new world record to win the men's 100m butterfly title and deny Michael Phelps a fifth gold medal at the World Swimming Championships.
Crocker (right) lost out to Phelps at the Athens Olympics
Defending champion Crocker's time of 50.40 seconds improved his previous mark from last year by 0.36secs.
Fellow American Phelps was 1.25secs slower as he took silver, with Andriy Serdinov of Ukraine third in 52.08.
It was sweet revenge for Crocker after his defeat by Phelps in the 100m fly final at last year's Athens Olympics.
"It was definitely my goal to break the record," said Crocker.
"I didn't know it would be by that much. When you're racing against Phelps, you always have to assume it's going to take a world record to win. My time definitely surprised me."
Phelps, who won six gold and two bronze medals in Athens, has won four golds and a silver in Montreal.
His defeat by Crocker denied him the chance to match Ian Thorpe's record
of six gold medals at a single world championship.
And he will only swim in the heats of the 4x100m medley relay on Sunday, with Crocker coming in for the final.
"I haven't trained much fly this year, but I don't want to use that as an excuse. That was a horrible swim for me," said Phelps.
South Africa's Roland Schoeman took his second gold medal of the championships with victory in the 50m freestyle.
Schoeman's time of 21.69secs was the second fastest in history, just 0.05secs outside Alexander Popov's world record of 21.64.
Croatia's Duje Draganja was second in 21.89 and Poland's Bartosz Kizierowski third in 21.94.
Schoeman, who won a gold, silver and bronze at last year's Athens Olympics, set a world record to win the 50m butterfly earlier this week and took silver in the 100m freestyle final.
Zimbabwe's Kirsty Coventry made it a backstroke double by adding to her 100m title with gold in the 200m.
Coventry led all the way, clocking a new African record of 2:08.52 to finish ahead of American Margaret Hoelzer and Japan's Reiko Nakamura.
American Kate Ziegler led from the start of the 800m freestyle final to take gold in eight minutes 25.31 seconds, adding to the 1500m title she won earlier in the week.
Britain's Rebecca Cooke was seventh, 12 seconds off the pace.
Canada's Brittany Reimer finished second in 8:27.59 with Japan's Olympic champion Ai Shibata third in 8:27.86.
The women's 50m butterfly was won by 17-year-old Australian Danni Miatke.
Miatke took gold in a time of 26.11secs to win her first world title, with world record holder Anna-Karin Kammerling taking silver in 26.36 and fellow Swede Therese Alshammar bronze in 26.39.
The final gold of the night went to Australia in the women's 4x100m medley relay.
Sophie Edington, Leisel Jones, Jessicah Schipper and Libby Lenton won in a combined time of 3:57.47, just 0.15secs outside the world record Australia set in Athens.
The United States took silver and Germany bronze.
In the men's water polo final, Serbia and Montenegro beat Hungary 8-7 to take gold, and Greece saw off Croatia 11-10 in the bronze medal match.