Jaime Caballero, an open-water swimmer who has previously swum across the English Channel, the Straits of Gibraltar and round the island of Ibiza, shaved three minutes off the previous record for swimming Lake Geneva, set 30 years ago.
He set off from Villeneuve, at the eastern end of Lake Geneva, at 3pm on Sunday and arrived in Geneva less than 24 hours later, to be greeted by the city's mayor, Guillaume Barazzone.
Caballero's epic mission aimed to raise awareness of diabetes and attract financial donors for a Geneva-based charity, the Foundation for Diabetes Research.
“I am tired but very happy with this success,” he told news agencies, adding that the swim had been “physically and psychologically difficult” given he was battered by rain and high waves at around 3am.
He was accompanied by a support boat with a doctor who planned his food during the swim.
Caballero has swum for good causes since 2008.
In 2013 he became the first Spaniard to complete a two-way swim across the English Channel in just over 24 hours.
And in 2015 he swam 140km around the Spanish island of Ibiza.
Lake Geneva is the largest lake in Central Europe and reaches depths of 300m in places.