At the 2012 London Grand Prix, the final Diamond League meeting prior to the 2012 London Olympic Games, Shakes-Drayton recorded another personal best for the 400m hurdles of 53.77, a time that put her second in the world rankings for the year and also made her the second fastest British athlete of all time in the event behind only Sally Gunnell. However, in the Olympic 400m hurdles she was unable to reach the final, finishing third in her semi-final heat. She was also part of the GB 4 × 400 m relay team which finished fifth in the final of that event.