Gamzigradska banja se nalazi u istočnoj Srbiji, 220km jugoistočno od Beograda, a 11 km zapadno od Zaječara.
Leži na 160 m nadmorske visine u meandarskoj dolini donjeg toka Crnog Timoka, na samim njegovim obalama, nedaleko od magistralnog puta Zaječar – Paraćin, kojim se ostvaruje dobra saobraćajna veza u svim pravcima.