Gatlin looked smooth in clocking the fastest time of all semifinal heats, crossing the line in 9.82 seconds.
Blake, the reigning world champion, finished second overall in 9.85.
Bolt used little energy in his heat, easing into a time of 9.87.
The final will also feature former world champion Tyson Gay (9.90) of America and Jamaican Asafa Powell (9.94).
Dutch sprinter Churandy Martina (9.91), Ryan Bailey (9.96) of the U.S., and Richard Thompson (10.02) will round out this star-studded field.
Justyn Warner, of Markham, Ont., matched his personal best time of 10.09 but failed to qualify for the final.
Bolt set the world record at the 2008 Beijing Olympics in 9.69, then lowered it in a mind-boggling 9.58 a year later at the world championships in Berlin. He can become the first man to win consecutive Olympic titles since Carl Lewis did it at the 1988 Seoul Games.
Blake has been the best sprinter during the last 12 months. He’s beaten Bolt twice, including once at the Jamaican trials in a sizzling time of 9.75, and another in the men’s 200. Blake also joined Bolt, Powell and Gay as the only men to ever post a time of 9.75 or under.
Of course, Blake won the 2011 world title in South Korea, but he didn’t have to deal with Bolt, who was disqualified for a false start in the final.
Gatlin, the 2004 Olympic champion, ran a personal best time of 9.80 after winning the U.S. trials. The American did post of 9.77 in 2006, but it was eventually wiped out when he tested positive for elevated testosterone levels and was suspended for four years.