The European 1500m champion, 26, ran one minute 58.42 seconds and compatriot Lynsey Sharp finished fourth in 1:58.76 as Ajee Wilson won in 1:57.73.
World champion Justin Gatlin clocked 9.91 to beat Noah Lyles in the 100m.
There was a world record in the women’s mile as Sifan Hassan of the Netherlands clocked 4:12.33 seconds.
It eclipsed the 1996 mark of 4:12.56 by Svetlana Masterkova of Russia.
Hassan, 26, the European 5,000m gold medallist, broke clear of the field with two laps to go and said: “The first 800m were a bit slow so I wasn’t thinking it would be a world record. When I crossed the line I was so surprised.”
Britain’s Laura Weightman finished second with a new personal best of 4:17:60, with Northern Ireland’s Ciara Mageean eighth in a personal best 4:19.03 and Melissa Courtney of Wales 12th in 4:27.76.
The race was named the ‘Brave like Gabe Mile’ in honour of former American middle distance runner Gabe Grunewald, who died from cancer last month at the age of 32.
After a tribute to Grunewald on the big screens at the stadium, there were a total of four national records in the race and Weightman was invited by Hassan to join her on a lap of honour.
“I’m absolutely delighted – to run 4:17 is a big PB and I’m over the moon for Sifan to break the world record,” said the 28-year-old. “She’s an amazing athlete – it’s a special moment to share this with her.”
Both Gatlin and Lyles had already claimed Diamond League 100m victories this season, with Lyles clocking the fourth fastest 200m of all time when he won in 19.50 seconds in Lausanne last week.
Gatlin, 37, made the better start and improved on his winning time last week, with just enough to hold off the challenge of his fellow American, 16 years his junior.
“It was a technical race tonight,” said Gatlin, who has served two doping bans. “I just kept focused as I knew Noah would be coming after me like a bat out of hell!”
Scot Jake Wightman was eighth in the men’s 800m in a season’s best 1:45.08, with France’s world champion Pierre-Ambroise Bosse ninth.
Nijel Amos of Botswana, the 2012 Olympic silver medallist and 2014 Commonwealth champion, won in a world-leading time of 1:41.73.
World champion Dafne Schippers ran a season’s best 22.45 but was beaten into third place in the women’s 200m as Olympic 400m champion Shaunae Miller-Uibo of the Bahamas, winner of four Diamond League 200m events last year, won in 22.09 and Olympic sprint double gold medallist Elaine Thompson of Jamaica was second in 22.44.
In the pole vault, Piotr Lisek of Poland recorded a meeting record of 6.02m, his personal best and the leading mark in the world this year.
American 19-year-old Sydney McLaughlin began the evening’s programme, played out in muggy conditions, with temperatures of 28C and high humidity, by setting a world-leading 53.32 seconds in the women’s 400m hurdles.