Bolt, a three-time Olympic champion, overtook Powell in the closing stages to remain undefeated in 2012. He hasn't lost since failing to defend his gold at the 2011 world championships in South Korea after being disqualified in the final for a false start.
Lerone Clarke was next in 10.10, completing a 1-2-3 sweep for Jamaica.
"When I came out from the blocks, I reacted good. But the execution, because I wasn't as comfortable as I wanted to be, wasn't that good during the first 30 meters," Bolt said. "Asafa got into his running form way quicker than me and got the top speed, while I had to work a little harder to get into my stride. But the good thing is I still got it - I ran past him, so I'm happy.
"I have run world records where my coach has said the race wasn't perfect."
Bolt improved his head-to-head record over Powell to 11-1. It was his third fastest time of the season, behind the 9.76 he ran to win in Rome last week and his 9.82 in Jamaica earlier this year.
Powell, whose only win over Bolt came in 2008 in Stockholm, took plenty of positives from the race.
"Tonight, I proved that I have it in me," said Powell. "I did my own thing. Normally, people say I can't perform under pressure. I think I performed under pressure tonight. I knew if I ran like I was supposed to, that it was going to be close. I was either going to win or it was going to be close.
"I am satisfied. I still have a long way to go (to the Olympics) ... You never know. You might see another result at the Olympics."
World champion Sally Pearson won the 100 hurdles, finishing in a season-best 12.49. The Australian was making her European debut this year.
Kristi Castlin of the United States followed in 12.56, then came Tiffani Porter of Britain in 12.70. Americans Lolo Jones and Danielle Carruthers finished fifth and sixth.
In the men's 400 hurdles, Javier Culson of Puerto Rico won in a time of 47.92 seconds. Trinidad & Tobago's Jehue Gordon (48.78) and Justin Gaymon of the U.S. (48.97) were next. ). World champion David Greene of Wales finished fourth (48.98).
In the pole vault, world indoor champion Renaud Lavillenie beat Malte Mohr of Germany into second place by clearing 5.82 on his first attempt. The Frenchman tried to improve on his season-best 5.90 but failed all three attempts at 5.92.
In the javelin, Vitezslav Vesely of the Czech Republic won with a throw of 88.11 meters on his third attempt. Turkey's Fatih Avan was second with 83.82, while two-time defending Olympic champion Andreas Thorkildsen of Norway was third with 82.30.
In the women's high jump, Chaunte Howard of the U.S. cleared 1.97 meters on her first attempt, a height that Olympic champion Tia Hellebaut of Belgium failed to clear.