Sempach es una ciudad histórica y comuna suiza del cantón de Lucerna, situada en el distrito de Sursee a orillas del lago de Sempach.
Limita al noroeste con la comuna de Eich, al norte con Beromünster, al noreste con Hildisrieden, al este y sur con Neuenkirch, y al oeste con Nottwil.
Esta ciudad histórica cuenta con un pequeño estanque a las afueras llamado Steinibühlweiher.
Cuenta con una estación ferroviaria en la que efectúan parada trenes regionales y de cercanías pertenecientes a la red S-Bahn Lucerna.