Flensbourg se trouve au Nord du land de Schleswig-Holstein, directement à la frontière avec le Danemark. Elle est la seconde ville la plus au nord d'Allemagne après Westerland sur Sylt. Elle se trouve à l'intérieur du fjord de Flensburg (une partie de la mer Baltique), en partie dans une vallée et en partie sur les montagnes de la Frise. La partie orientale de la ville se situe déjà sur la péninsule d'Angeln.