Die Stadt liegt am linken Ufer des Rheins im Neuwieder Becken zwischen Brohl-Lützing im Nordwesten und der Mündung der Nette im Südosten. Unmittelbar im Anschluss an die Stadt steigen im Nordwesten die Hänge der Berge steil an. An dieser Stelle verjüngt sich das Rheintal von Andernach wieder und bildet den nördlichen Teil des romantischen Mittelrheins.