2012 m. Londono vasaros olimpinėse žaidynėse Greversas laimėjo iš viso tris medalius: du auksinius ir vieną sidabrinį. Greversas užsitarnavo pirmąjį medalią, sidabro, plaukdamas su antrą vietą užėmusia JAV komanda 4×100 metrų laisvosios stiliaus štafetės pradinėse varžybose. Finale amerikiečių komanda užėmė antrą vietą po Prancūzijos. Greversas kartu su Jimmy Feigen, Ricky Berens ir Jason Lezak plaukiojo antrą etapą ir užfiksavo laiką 47.59. Po to, kai pirmavo 100 metrų bėgimo į nugarą varžybose (52,92) ir pusfinaluose (52,66)
Greversas laimėjo auksą 100 metrų nugaros lenktynių finale su laiku 52,16, gerindamas Aaron Peirsol'o olimpinio rekordo 52,54 nustatytą 2008 m. ir 0,76 sekundės prieš Nick Thoman. Greversui tai buvo pirmasis individualus auksas. Paskutinėje varžybose, 4×100 metrų štafete, Greversas laimėjo auksą su Brendanu Hansenu, Michaelu Phelpsu ir Natanu Adrianu. Greversas užfiksavo 52,58 sekundės laiką, o JAV komanda laimėjo 3:29,35 metu.