Die Gemeinde Nottwil liegt am Westufer des Sempachersees zwischen Sempach und Sursee und zählt 4048 Einwohner. Sie umfasst neben der Hauptsiedlung, die aus dem Oberdorf und dem am Sempachersee liegenden Unterdorf besteht, zahlreiche weitverstreute Weiler und Häusergruppen. Mit dem Dorf zusammengewachsen sind die Weiler Oberei (549 Meter über Meer) und Ei (528 Meter über Meer). Westlich des Dorfs liegt Büel (587 Meter über Meer). Am Sempachersee südöstlich von Nottwil-Dorf befinden sich die Ortsteile Meienbach (508 Meter über Meer) und Eggerswil (517 Meter über Meer). Nottwil grenzt an Buttisholz, Neuenkirch, Oberkirch und Ruswil.