Noah Lyles became the fourth fastest 200m runner of all time as he won the Diamond League meeting in Lausanne in a time of 19.50 seconds.
The 21-year-old’s time has only been bettered by fellow American Michael Johnson, Yohan Blake and world record holder Usain Bolt, both of Jamaica.
Lyles – who also has the second fastest 100m time this year at 9.86 – ran the fastest 200m race since Bolt won Olympic gold in London in 2012.
Justin Gatlin won the 100m in 9.92.
The 37-year-old world champion, one of six Americans in the race, beat compatriot Michael Rodgers into second, with Aaron Brown of Canada finishing third.
Asked if he expected to run so fast from lane seven, Lyles said: “Oh my God, would it be crazy if I said yes?.
“Really, it was all about the plan. Me and my coach have been working on that turn. I don’t know if we’ll be expecting something (at the worlds), I’ll just do what I do.”
Britain’s Dina Asher-Smith clocked a season’s best 20.91 in the women’s 200m but finished second behind double Olympic champion Shelly-Ann Fraser-Pryce of Jamaica.
Asher-Smith, 23, finished ahead of Ivorian Marie-Josee Ta Lou and Dafne Schippers of the Netherlands, who won silver and gold respectively at the 2017 World Championships.
Bahrain’s Salwa Eid Naser made it four 400m victories from as many Diamond League races this year but she was pushed all the way by Niger’s Aminatou Seyni.
Naser won in 49.17, beating the previous Lausanne record of 49.45 set by France’s Marie-Jose Perec in 1996 – but Seyni was just behind in 49.19.
Seyni was a relative unknown just two weeks ago, but has since improved her personal best by one and a half seconds.
Her time was the second best by an African woman, and makes her the seventh-fastest woman this century.
“My race was very good,” said the 22-year-old.
Hagos Gebrhiwet of Ethiopia suffered an embarrassing mishap during the men’s 5,000m, crossing the line with his arms raised in celebration – but with a lap still remaining.
His compatriot Yomif Kejelcha took full advantage, showing little sympathy to win as Gebrhiwet was forced to settle for 10th.