OSLO — Usain Bolt was pushed all the way in the 100m before powering home to take victory at the Diamond League in Oslo in a time of 9,79secs.
The world record holder finished clear of Asafa Powell, who came second in 9,85secs, his best time of 2012.
Team Great Britain’s Marlon Devonish finished sixth, but Mark Lewis-Francis was disqualified following a false start.
Jessica Ennis, who was taking part in the 100m hurdles, also paid the price for leaving the blocks early.
The men’s 100m was the race everyone was waiting for and it did not disappoint.
Jamaican Powell has history in Oslo after setting the stadium record of 9,72secs two years ago.
Neither he nor Bolt could emulate that time, but Powell did enjoy his best time of the year so far, as the compatriots head into form at the right time.
Powell started the better, as he burst out of the blocks and must have thought, for a split second at least, he had got the better of his countryman, only for Bolt to power through to pip him at the post.
Such was his surge at the end, his momentum almost saw a flower girl sent flying, but still beaming from victory, the Jamaican showed some neat footwork to keep the girl on her feet.
It was a night of mixed emotions for the Britons in action with Lewis-Francis and Ennis disqualified.
Ennis, who was making a rare appearance at the Diamond League, qualified for the final of the 100m hurdles in third place, behind world champion Sally Pearson.
But as she lined up for the final she was too eager to get out of the blocks and was eventually shown a red card.