La Jocurile Olimpice de vară din 2012 de la Londra, ea a înregistrat un timp personal de 57,42 secunde în timpul semi-finalei la 100 de metri fluture
şi a avansat în finală. În finală, a înotat cursa în 57,48 de minute, ajungând pe locul șapte. "Scopul meu a fost de fapt doar să ajung în finală, iar odată ce am obținut acest lucru, a fost doar un fel de înghețată pe tort să pot concura în finală", a remarcat ea. Aşa că sunt încântat. Sunt atât de fericit cu modul în care am făcut-o". Mai târziu, la jocuri, a înotat piciorul fluture al ștafetei de 4 × 100 de metri pentru echipa SUA în timpul antrenamentelor preliminare. Colegii ei de echipă au câștigat finala de ștafetă, câștigând Donahue o medalie de aur.