Ana Marcela Cunha won her second race in the International Swimming Federation (FINA) Marathon Swim World Series after a thrilling finish in Setubal.
The Brazilian world champion battled with Italy's Rachele Bruni in the home straight before edging her out by just 0.08 seconds in a time of 1hr 41min 11.9sec.
It was Cunha's second win in three races in the series and saw her return to the stop step of the podium after being narrowly defeated by another Italian, Arianna Bridi, last time out in the Seychelles.
Bridi was fourth in Portugal, beaten to the rostrum by Samantha Arevalo of Ecuador, who was a second in front.
Angelica Andre was the best Portuguese finisher in fifth, while Caroline Jouisse of France, who led after the first lap, came in sixth.
The men's race was won by Yohsuke Miyamoto of Japan in 1:34:44.4 seconds.
Miyamoto overhauled Andreas Waschburger on the final lap, despite the German holding a 1.5-second advantage over the rest of the field going into the final 2,000m.
Alejandro Moreno of Argentina, who led at the halfway point, was third, four seconds behind the winner.
The best home male finisher was Rafael Gil in sixth.
The Marathon Swim World Series continues next weekend in Balatofured, Hungary for the fourth race of nine in the 2019 tour.