Jakob Fuglsang protected his overnight lead to clinch his second general classification title at the Criterium du Dauphine.
With pre-race favourite Chris Froome ruled out with a serious injury earlier in the week, Adam Yates led the way until Fuglsang's second-placed finish on Saturday saw him nudge in front on the eve of the final ride.
The Switzerland-born Dane - leading by eight seconds through seven stages - was then boosted further on Sunday as Yates bowed out 40 kilometres from the finish of Sunday's stage eight due to illness.
Tejay van Garderen was instead Fuglsang's closest rival, 20 seconds back, and the Astana rider's triumph never looked in serious doubt.
The general classification group crossed the line in Switzerland together to hand Fuglsang, who also won the Dauphine in 2017, another victory.
Froome's Team INEOS at least ended the weekend on a high, though, with a second successive stage win after Dylan van Baarle added to Wout Poels' success a day previously.
Van Baarle remporte la dernière étape
— Critérium du Dauphiné (@dauphine) June 16, 2019
Fuglsang remporte son 2ème #Dauphiné
Van Baarle claims the win in the last stage
Fuglsang claims a 2nd win in the #Dauphiné #Dauphiné pic.twitter.com/KskpzaNlJm
GENERAL CLASSIFICATION
1. Jakob Fuglsang (Astana) 30:40:27
2. Tejay van Garderen (EF Education First) +20secs
3. Emanuel Buchmann (Bora-Hansgrohe) +21s
4. Wout Poels (Team INEOS) +28s
5. Thibaut Pinot (Groupama-FDJ) +33s