(CNN) -- American sprinter Tyson Gay handed world and Olympic champion Usain Bolt his first 100 meters defeat in two years in Sweden on Friday night.
Gay, the 2007 world champion, beat the all-conquering Jamaican for the first time as he triumphed at the Diamond League meeting in Stockholm.
The 27-year-old came home in a time of 9.84 seconds despite the race being marred by two false starts, while Bolt was second in 9.97.
Record-holder Bolt, who won three gold medals at both the 2009 world championships and 2008 Olympics, was last defeated by compatriot Asafa Powell -- also in the Swedish capital.
Powell pulled out of this event due to injury worries, meaning the world's top three sprinters have yet to run together this year.
"You can get beaten, you have good days and bad days -- it was just one of those days for me," Bolt told British race broadcaster the BBC. "I need to work on my shape. I got a good start but there was no power there.
"I was ready, I was focused but those two stand-ups kind of threw me off. But I can't blame it on that. Tyson was much better than me, in much better shape than me".
Gay was delighted despite not beating the best time this year, 9.82, set by both Bolt and Powell.
"It feels good. Deep down inside, I felt he wasn't 100 percent. I'm still waiting for the day when we are both 100% and Asafa is also on the line," Gay said.
"I think [Bolt] knows what his limitations are. I know he has more left in the tank".
Trinidad's Richard Thompson was fourth in 10.10, while American Trell Kimmons was fifth in 10.11 ahead of Jamaica's Mario Forsythe (10.20).
U.S. runners filled out the rest of the field, with Mike Rodgers clocking 10.21, Travis Padgett 10.22 and Monzavous Edwards 10.29. CNN