Gatlin, who set a year-leading time of 9.87 seconds last month, was in front from the start and finished in 9.91, 0.11 ahead of Jamaica's Nesta Carter. Britain's Adam Gemili was third.
It was a repeat of last year's success for Gatlin, who edged Usain Bolt on the line.
In the high jump, Barshim achieved a personal best as he matched the Diamond League record and year-leading height of 2.41 metres set by Olympic champion Ivan Ukhov of Russia in Doha. Ukhov was fifth at the Stadio Olimpico.
Barshim and world champion Bohdan Bondarenko of Ukraine each made three unsuccessful attempts at 2.43, which would have been a European record.
Bondarenko, who went close to the world record of 2.46 in Moscow, was second after passing on all other heights after clearing 2.34. American Erik Kynard was third with 2.31 and Drouin, from Corunna, Ont., was fourth with 2.28.
Ukhov cleared 2.28 but failed three times at 2.34.
It was an all-American podium in the 100 hurdles where Australia's Olympic champion, Sally Pearson, pulled out shortly before the event after hurting herself in the warmup.
World champion Brianna Rollins won on her Diamond League debut, with a year-best time of 12.53, 0.01 ahead of Dawn Harper-Nelson. Queen Harrison was third in 12.61.
Gasps ran out at the Stadio Olimpico when Marzia Caravelli of Italy fell on the fifth hurdle.
In the women's 100, American Tori Bowie smashed her personal best in winning in 11.05, as two-time Olympic champion Shelly-Ann Fraser-Pryce finished only eighth.
Kerron Stewart was second, 0.03 behind Bowie, with Jamaican compatriot Simone Facey third.
American Lashawn Merritt recovered from his disappointment at the last Diamond League meet in Eugene, Oregon, where he was edged in a photo finish by Kirani James, to win the 400.
Merritt surged to a comfortable victory in 44.48, 0.68 faster than Youssef Ahmed Msrahi of Saudi Arabia, with David Verburg third.