At the Jamaican Olympic Trials in 2012, Weir broke twenty seconds with a personal best of 19.99 seconds in the 200 m semi final and a third-place finish in the final, behind Yohan Blake and Usain Bolt, earned him a spot on the Jamaican team for the 2012 Summer Olympics. In the Olympic 200 m final he was a surprise bronze medallist, securing a new personal best of 19.84 seconds in the process. His medal made it an all-Jamaican podium finish alongside fellow Racers Track Club athletes Bolt and Blake – the first time Jamaican men had achieved such a medal sweep at the Olympics.