Laufen liegt im Alpenvorland an der Salzach, die hier die Grenze zwischen Deutschland und Österreich bildet. Die Stadt gehört zum Landkreis Berchtesgadener Land in Oberbayern und ist etwa fünfzehn Kilometer von Salzburg entfernt. Die Landschaft ist geprägt von einer Moränenlandschaft mit Höhen zwischen vierhundert und sechshundert Metern, in der sich auch einige Moore finden. Der Haunsberg, der Hausberg der Stadt, erhebt sich knapp achthundert Meter hoch und liegt nur wenige Kilometer entfernt im Salzburger Land. Die Altstadt liegt geschützt in einer Flussschleife der Salzach, die durch eine Nagelfluh-Schwelle entsteht.
Der Name Laufen geht auf das althochdeutsche Wort für Stromschnelle zurück und wurde erstmals im achten Jahrhundert urkundlich erwähnt. Schon in vorgeschichtlicher Zeit gab es hier Siedlungen, später nutzten die Römer die Region. Die Stadt entwickelte sich zu einem wichtigen Umschlagplatz für Salz, das aus Hallein flussabwärts transportiert wurde. An den Stromschnellen bei Laufen musste die Fracht umgeladen werden, was der Stadt Wohlstand brachte. Nach der Sprengung der Stromschnelle im achtzehnten Jahrhundert verlor der Salzhandel an Bedeutung, und die Stadt wurde durch den Vertrag von München 1816 Grenzstadt zwischen Bayern und Österreich.
Die Altstadt ist von einer Wehrmauer mit zwei erhaltenen Stadttoren umgeben und steht als Gesamtensemble unter Denkmalschutz. Die Salzach wurde im neunzehnten Jahrhundert begradigt, doch die Eingriffe führten zu ökologischen Problemen wie sinkenden Grundwasserspiegeln. Heute arbeiten Deutschland und Österreich an einem Rückbaukonzept, um Fluss und Auen zu renaturieren. Die Stadt wuchs durch Eingemeindungen im zwanzigsten Jahrhundert und ist von dicht bewaldeten Hügeln und moorigen Gebieten umgeben.