Rudisha beaten in Shanghai as Gatlin impresses
A disgruntled David Rudisha suffered a surprise defeat in the 800 metres but Justin Gatlin was in an impressive winner at Saturday's Diamond League meeting in Shanghai.
Olympic and world champion Rudisha was slow to react to the starter's gun, later complaining about high jumpers being on the track.
Kenyan Rudisha could only finish fifth, with compatriot Ferguson Cheruiyot Rotich bursting through the field on the inside to claim a shock win in a time of one minute 45.68 seconds ahead of Robert Biwott and Alfred Kipketer.
Rudisha had surged to the front with 200m remaining, but the world record-holder dropped back and finished in 1:46.24 - his slowest time for five years.
Gatlin - Diamond League champion in each of the last three years - clocked 9.94 seconds to win the 100m.
The 2015 World Championship silver medalist came flying out of the blocks and there was no catching him, with Qatar's Femi Ogunode and fellow American Mike Rodgers second and third respectively.
Gatlin said: "I came out here to execute and I know being an Olympic year, it is a long season and my coach and I have a plan.
"He is training me and Mike Tyson to knock out the opposition and keep swinging! The ankle injury over the winter made it a difficult preparation, but Diamond League races are important to win."
Murielle Ahoure of the Ivory Coast denied Veronica Campbell-Brown victory in the women's 200m in 22.72secs, while the impressive Shaunae Miller clocked 50.45 to take the 400m.
Faith Kipyego smashed her own Kenyan record to cross the line first in a time of 3:56.82 in the women's 1500m.
Sam Kendricks recorded a personal-best 5.88 metres to beat Renaud Lavillenie in the pole vault, while Omar McLeod won the men's 110 hurdles in 12.98secs - the first sub-13 time of the season - after Aries Merritt was disqualified for a false start.