Haapsalu (njem. i šve. Hapsal, fin. Haapsalu i Haapsalo) je grad koji se nalazi na zapadnoj obali Estonije. To je administrativno središte okruga Läänemaa i ima 11.618 stanovnika, te površinu od 10.59 km2.
Grad postoji još od 1279. godine. Vojni liječnik, Carl Abraham Hunnius je osnovao prvo liječilište u blatu godine 1825. Od tada je Haapsalu popularna ljetna destinacija u koju dolaze ljudi iz svih krajeva svijeta na liječenje.
Najvažnije znamenitosti su najveća jednobrodna katedrala na Baltiku i dvorac Haapsalu iz 13. stoljeća.
Haapsalu se naziva i Venecijom sjevera.