Лиепая расположена на побережье Балтийского моря на юго-западе Латвии и является самым западным городом в стране. Площадь города составляет около 6037 га. Город находится между Балтийским морем и Лиепайским озером, жилые и промышленные районы располагаются также к северу от озера. Торговый канал (латыш. Tirdzniecības kanāls) соединяет озеро с морем, разделяя город на южную и северную части: южная часть — Старый город (латыш. Vecliepāja) является историческим, административным и культурным центром; северная часть — Новый Город (латыш. Jaunliepāja) является промышленным районом и достигает Тосмарского канала (латыш. Tosmares kanāls). Тосмаре — это индустриальний микрорайон, который назван в честь Тосмарского озера (Озеро Тосмарес), ограничивающего северную часть города с востока. микрорайон Кароста (военный городок) является самым северным жилым районом города.