The MS Diamant, which was only put in service in May, developed the fault near the Kehrsiten-Bürgenstock port just after 9pm, cantonal police told news agency ATS.
Police and rescue workers were dispatched to the scene and all 163 passengers were evacuated with no injuries.
Police divers were later able to detect the leak on the hull while the fire service tried to pump the water out of the boat.
The 15.5 million franc MS Diamant is part of the 19-strong fleet of ships operated by Lake Lucerne's navigation company (SGV).
Able to hold up to 1,100 passengers, it has until now served the Lucerne-Flüelen route, linking up with panoramic trains on the old Gotthard alpine railway as part of a new tourist itinerary.
It will be out of service until further notice, said ATS.