Police divers found the body of a 59-year-old German man in 11 metres of water on Monday.
The victim, a resident of Basel, was just 100 metres from the finish line of the Lake Sempach triathlon competition held on Sunday at Nottwil.
Lucerne cantonal police said they were informed at 4.15pm on the day of the competition that the man was missing.
A search was immediately launched with boats, a police dog and a Rega search and rescue helicopter.
The search continued on Monday until the man’s body was found.
To clarify the cause of the man’s death, the body was sent to the local forensic institute for an autopsy, police said.