David Gaudu snatched victory ahead of Wout van Aert who took the race lead after the third stage of the Criterium du Dauphine on Tuesday at the ski resort of Chastreix-Sancy.
Groupama-FDJ rider Gaudu caught out Belgian Van Aert in a sprint finish but the Team Jumbo–Visma rider claimed the leader's yellow jersey after the mid-mountain stage concluding at an altitude of 1,396 metres.
"After all the troubles in March, it was an explosion of joy," said Gaudu of his return from a series of health woes including a fall, back pain and bronchitis.
Overnight race leader Alexis Vuillermoz of France was left behind with 2.5km to go after the 169km ride from Saint-Paulien.
Gaudu, 11th in the Tour de France last year, claimed his ninth victory and second of the season after a stage in the Tour of Algarve in Portugal.
The survivors of the day's breakaway, Pierre Rolland, Jonas Gregaard and Sebastian Schonberger were joined at the foot of the final climb, a 6.2-kilometre slog with a gradient of 5.6 percent on the western slope of the Sancy.
Gaudu moved second in the overall standings, six seconds behind Van Aert.
"I made a rookie mistake," acknowledged the Belgian champion, apologising to his teammates.
"We missed out yesterday (Monday), we wanted to win today. We worked during the stage and I ruined it all. I lost on my own."
Wednesday's fourth stage should offer him an opportunity for revenge over a flat 31.9km time-trial between Montbrison and La Batie d'Urfe in the Loire. It could also suit Italian world champion Filippo Ganna.