In the first 1500m heat Willis placed secnd in a time of 3:36.01. After running at the back of the field for the first few laps he took the lead on the final lap eventually finishing ahead of Mehdi Baala. Willis ran in the second 1500m semi-final where the pace was so slow that during the race he told the other competitors to "pick up the pace" so that more of them would have a chance to qualify. With 250m to go Willis was almost boxed in and had to force his way into the clear eventually finishing fifth in a time of 3:37.54 to qualify for the final. In the final Willis stayed at the back of the pack of runners for most of the race. Working his way through the field, he was in sixth place with 200m to go. Along the home straight he passed three runners, holding off Baala on the line to win the bronze medal in 3:34.16. With the disqualification of the race winner Rashid Ramzi on 18 November 2009 due to a positive drug test, Willis was upgraded to the silver medal.