Defending champion Usain Bolt made a meal of it but recovered from a stumbling start to reach Sunday's 100-meter final at the world championships, setting up his Beijing showdown with in-form American Justin Gatlin.

The Olympic champion and world-record holder qualified joint-third fastest in 9.96 seconds after a blanket finish in the opening semifinal, while Gatlin's 9.77 in the second was the best of the round.

Bolt tottered around the track for a few steps after stumbling coming out of the blocks and needed all his power in the final 50 meters to get back on terms with Canada's Andre de Grasse, who was also awarded a time of 9.96.

"Think I hit my foot too hard," Bolt told reporters. "I'm not sure what happened, I just stumbled.

"It doesn't matter what lane I get, it's the 100 meters but I can't do that in the final."

A smiling Gatlin, who won the world title in 2005 before serving a doping ban, gave his verdict on his comfortable victory in the second heat with the words "easy, breezy."

American Mike Rodgers was second fastest in 9.86, his best run of the year, while his compatriot Tyson Gay also ran a 9.96 to reach the final.

Jamaica's former world-record holder Asafa Powell progressed in 9.97.

American Trayvon Bromell, France's Jimmy Vicaut and China's Su Bingtian were all timed at 9.99, and as Su and Vicaut could still not be separated after their times were taken to a 1000th of a second, all three will race in a nine-man final.

Off the nine, Gatlin, Powell, Gay and Rodgers have all served doping bans.