Usain Bolt recovered from another desperate start to win the 100 metres at the Weltklasse Diamond League meeting in Zurich on Thursday night.

Eighteen days after taking the crown at the World Championships in Moscow, the Jamaican was the slowest of the nine-strong field out of the blocks before coming through to win in 9.90 seconds.

The world record holder, who branded his start at the London Anniversary Games last month "horrific", had to work all the way to the line, only beginning to pull clear after around 80 metres.

It was his first race since competing in Moscow, where he won three golds to take his World Championships medal tally to 10.

Bolt's compatriot Nickel Ashmeade was second in 9.94secs, with Moscow silver medallist Justin Gatlin in third in 9.96s.

Bolt told BBC3: "I think the longer the season goes on, the worse my start gets. The reaction was 0.186, the worst it's been all season. I don't really know what's going on.

"I'm tired, it's a good thing everyone else is tired too. I'm happy I came out victorious."

Another Jamaican Shelly-Ann Fraser-Pryce, who became the first woman to sweep the world 100m, 200m and 4x100m sprint titles in Moscow, won the 200m in 22.40.

American world champion LaShawn Merritt defeated Grenada's 2011 world gold medallist Kirani James in the men's 400m.

Meseret Defar won the battle of the Ethiopians in the women's 5,000m, beating compatriot Tirunesh Dibaba to the finish in 14 minutes 32.83 seconds.

Dibaba took the 10,000 gold medal in Moscow, but opted out of the 5,000 which Defar won with ease.

Ukrainian world high jump champion Bohdan Bondarenko, who has been edging closer this season to Javier Sotomayor's world record of 2.45 metres set 20 years ago, failed with an attempt on the Cuban's mark after winning the event on a countback with 2.33m.

New Zealand's world and Olympic champion Valerie Adams won the women's shot put which was staged in the city's main railway station on Wednesday.

Adams set a meeting record and a year's personal best of 20.98m.