Frankie Fredericks réalise ses meilleures performances chronométriques durant l'année 1996. Le , il remporte l'épreuve du 100 m du Meeting de Lausanne en 9 s 86, soit le meilleur temps de sa carrière sur l'épreuve-reine. Deux jours plus tard, au Meeting d'Oslo, il crée la surprise en dominant sur 200 m Michael Johnson de trois centièmes de secondes, mettant un terme à une série de 21 victoires consécutives de l'Américain sur la distance. Il établit sa meilleure performance quelques jours plus tard, en finale des Jeux olympiques d'Atlanta, en réalisant le de l'histoire en 19 s 68, mais est cependant largement devancé par Johnson qui bat son propre record du monde en 19 s 32. Le Namibien subit un deuxième revers lors de ces Jeux en remportant une nouvelle médaille d'argent en finale du 100 m, malgré son statut de favori. La course est remportée par le Canadien Donovan Bailey qui signe en 9 s 84 un nouveau record du monde, Frederick est en 9 s 89, Ato Boldon en 9 s 90. Fredericks maintient son niveau de forme en 1997 en réalisant 9 s 90 sur le 100 m du Mémorial Van Damme de Bruxelles. Au cours des Championnats du monde d'Athènes, il termine au pied du podium du 100 m (9 s 95) en ratant la médaille de bronze pour un centième de seconde, et remporte une nouvelle médaille d'argent sur 200 m (20 s 23) après avoir subi la loi de Michael Johnson. Il se console en fin d'année en s'imposant lors de la finale du Grand Prix IAAF à Fukuoka.