Frombork położony jest w północno - zachodniej części województwa warmińsko - mazurskiego, w powiecie braniewskim. Usytuowany jest na Zalewem Wiślanym, na pograniczu Wysoczyzny Elbląskiej, Wybrzeża Staropruskiego i Niziny Warmińskiej.
Przez teren gminy przebiegają drogi wojewódzkie 504 (Elbląg - Braniewo) i 505 (Pasłęk - Frombork). Otoczenie bezpośrednie stanowią gminy: Braniewo, Płoskinia, Młynary, Tolkmicko. Dzięki portowi Frombork dysponuje połączeniem wodnym z Krynicą Morską i miejscowością Piaski na Mierzei Wiślanej.