Gammoudi wygrał ponownie biegi na 5000 metrów i 10 000 metrów podczas igrzysk śródziemnomorskich w 1967 w Tunisie. Podczas igrzysk olimpijskich w Meksyku w 1968 uznawano go za jednego z faworytów. Podczas biegu na 10 000 m biegł w czołowej grupie, która w końcu stopniała do trzech biegaczy na ostatnim okrążeniu. Gammoudi zajął trzecie miejsce za Naftalim Temu z Kenii i Mamo Wolde z Etiopii i zdobył brązowy medal. Za to w finale biegu na 5000 metrów, gdy w czołówce znów zostało tylko trzech biegaczy, Gammoudi nie dał się wyprzedzić atakującym Kenijczykom Kipchoge Keino i Temu i został mistrzem olimpijskim.

Kolejne igrzyska śródziemnomorskie w 1971 w Izmirze były mniej udane: Gammoudi zdobył tylko srebrny medal w biegu na 5000 metrów (wyprzedził go Javier Álvarez z Hiszpanii). W czasie igrzysk olimpijskich w Monachium w 1972 podczas biegu na 10 000 metrów Fin Lasse Virén nagle wywrócił się w połowie dystansu, powodując upadek biegnącego za nim Gammoudiego. Virén zdołał dogonić czołową grupę po jednym okrążeniu i ostatecznie wygrał bieg, ale Gammoudi stracił więcej dystansu i wycofał się po następnych 600 metrach. W finale biegu na 5000 metrów Gammoudi zdobył srebrny medal po emocjonującym finiszu ze zwycięskim Virénem.