World and Olympic champion Usain Bolt needed a late surge to narrowly beat fellow Jamaican Nesta Carter in the 100 metres with his season's best time of 9.88 seconds at the Monaco Diamond League meeting on Friday.
Bolt overhauled his compatriot, who also ran his season's best of 9.90, in the last 15 metres while American Michael Rodgers finished third with 9.96.
"It was not the best start, but I executed well overall," Bolt told reporters after finding his form in his last scheduled meeting ahead of next month's world championships.
"My last 60 metres have improved dramatically. I need to work on my reaction time, but I've been doing great in training, so I'm just focussing and I feel ready.
"My aim this season is to run 9.7, maybe 9.6. For me, this year it's about building myself and go into the Olympic season fit and ready. London (2012 Olympics) is the key," he added.
He will face competition from compatriot Asafa Powell who set a world leading time of 9.78 in Lausanne last month.
Among the others athletes posting world leading times ahead of the worlds were 800 metres world record holder David Rudisha, the Kenyan winning in one minute 42.61 seconds.
Britain's Mo Farah also set the season's best time in the 5,000 as he beat American Bernard Lagat in a sprint to the line in a time of 12 minutes 53.11.
In the women's 200 Carmelita Jeter beat compatriot Allyson Felix, a three-time world champion at the distance, and Shalonda Solomon in an American clean sweep.
Olympic 400 hurdles champion Angelo Taylor held his nerve to defeat compatriot Bershawn Jackson while Britain's world champion Phillips Idowu won the triple jump with 17.36 metres.
Powell runs fastest 100 metres of year
Usain Bolt dazzles in drizzly Oslo
Bolt edges Powell, Americans dominate in Rome
Jelimo hits jackpot, Bolt wins in Brussels
Isinbayeva sets her 18th world record