German Railways (DB) operates a train from Lindau to Lucerne every 4 hours. Tickets cost $40 - $70 and the journey takes 1 h 50 min. Swiss Railways (SBB/CFF/FFS) also services this route every 30 minutes. Alternatively, FlixBus operates a bus from Lindau to Lucerne 5 times a week. Tickets cost $7 - $13 and the journey takes 2 h 20 min. FlixBus also services this route twice daily.
From Lindau Hbf train to Zürich HB then train to Luzern. 2 h 54 min 90€. From Lindau Hbf train to St. Gallen then train to Luzern. 3 h 56 min. From Lindau bus to Zurich then bus to Luzern. 4 h 15 min 14€. From Lindau drive to Lucerne. 2 h 10 min 25€.