Justin Gatlin beat Olympic champion Usain Bolt by one-hundredth of a second to record a surprise 100m win in Rome.
Bolt, 26, was fastest out of the blocks at the Diamond League meeting but American Gatlin, 31, powered past the Jamaican to win in 9.94 seconds.
"I need two months to get ready so I am not worried," Bolt told BBC Sport.
Britain's Phillips Idowu, in his first major meet since his early exit from the London 2012 Olympics, finished seventh in the triple jump with 16.44m.
The 34-year-old Briton produced the leap in the first round but failed his next two jumps and then passed on his final three to bow out of the competition, which was won by America's Olympic and world champion Christian Taylor, 22, with 17.08m.
Gatlin, however, looked in fine form as he maintained his unbeaten start to the season over 100m.
The 2004 Olympic champion, who went on to serve a four-year doping ban, recorded his third Diamond League success after victories in Doha and Eugene by the narrowest of margins.
Bolt had suffered a hamstring injury last month which hampered him in his opening race of the season in the Cayman Islands, where he could only manage a time of 10.09 seconds.
And although the six-time Olympic gold medallist, who was making his first appearance in the Diamond League this season, jumped well out of the blocks, he was blowing hard by halfway as Gatlin began to impose himself on the race.
However, the American had to dip his head on the line to beat the world record holder, with France's Jimmy Vicaut third in 10.02 seconds.
It was Bolt's first major international loss since his false-start disqualification at the 2011 World Championships in South Korea.
Bolt came second to Yohan Blake in the 100m and 200m at the Jamaican Olympic trials last July but went on to London 2012 success in both events. He was also beaten by Tyson Gay in August 2010 in Stockholm.
Bolt, who ran a season's best 9.95, admitted: "I got the perfect start that I wanted, then about five steps in I stumbled a bit and that kind of threw my game off.
"My legs didn't feel like my legs coming into the straight. I guess I need to do more strength work. I think I just need time to get it back together but the fact I got a good start threw me off. At least I got under 10 seconds.
"It is always a good thing to lose. You can figure how to step it up. I knew I wasn't in great shape but I'm not worried. It takes time to get back into shape and I didn't expect much from this race."
His next outing will be over 200m in next Thursday's Diamond League meeting in Oslo as he builds up to the World Championships in Moscow from 10-18 August, where he will be defending his title over the longer sprint distance.
Gatlin still believes Bolt will be the man to beat at the Worlds.
"It's an honour to be able to race him and compete against him these last couple of years - he's an inspiration for the sport," he said.
"He's brought so much to the sport that wasn't there before. He's a legend - he's done great things. I just want to go out there and fight to the end. I'm working on my race strategy and trying to stay healthy. I'm just trying to get my start back and make sure that the middle of my race is good."
There was another surprise in Thursday's women's 200m where Olympic champion Allyson Felix was well beaten into second by Ivory Coast sprinter Murielle Ahoure.
American Felix, 27, was trailing 25-year-old Ahoure coming off the bend and was unable to catch the Ivorian who ran a national record of 22.36 seconds.
Britain's Shara Proctor, 24, finished third in a competitive women's long jump, just eight centimetres behind London 2012 champion Brittney Reese, 26, of the United States, with fellow American Janay DeLoach Soukup, 27, splitting the pair.
In the 1500m, Hannah England, 26, sprinted clear of the bunch to claim fourth in a time of four minutes, 03.91 seconds, behind Sweden's Abeba Aregawi, 22, who won in 4:00.23, followed by Ethiopia's Genzebe Dibaba, 22, and America's Jennifer Simpson, 26.
And fellow Briton Dai Greene, the 2011 400m hurdles world champion, was fifth in his first race of the season.
Greene, 27, was left trailing by the fast-starting Johnny Dutch and Javier Culson and was unable to catch the duo as they went clear in the finishing straight.
American Dutch, 24, held on to win in 48.31 seconds with Puerto Rico's Culson, 28, second and Senegal's 26-year-old Mamadou Hanne third - Greene was fifth in 48.81.