Nos Xogos Olímpicos de 2012 en Londres, fixo un tempo persoal de 57.42 segundos durante as semifinais do 100 metros borboleta
e avanzaron ás finais. Na final, nadou a carreira en 57.48 en camiño a un sétimo lugar. "O meu obxectivo era realmente só entrar na final, e unha vez que o conseguín, foi só unha especie de guinda sobre o bolo poder competir na final", comentou. "Entón estou emocionado. Estou tan feliz co que fixen". Máis tarde nos xogos, nadou a pata mariposa do relevo de 4×100 metros para o equipo dos Estados Unidos durante as probas preliminares. Os seus compañeiros de equipo gañaron a final do relevo, gañando a Donahue unha medalla de ouro.