En els Jocs Olímpics d'estiu de 2012 a Londres, va aconseguir el millor temps personal de 57,42 segons durant les semifinals dels 100 metres papallona
i avançat a la final. A la final, va nadar la cursa en 57,48 en camí a un setè lloc. "El meu objectiu era només arribar a la final, i una vegada que ho vaig aconseguir, va ser una mena de guinda sobre el pastís poder competir a la final", va comentar. Així que estic emocionat. Estic tan feliç amb el que he fet". Més tard, als jocs, va nadar la cama de papallona del releu de 4×100 metres per a l'equip dels Estats Units durant les proves preliminares. Els seus companys d'equip van guanyar la final de relai, donant a Donahue una medalla d'or.