Dutch rider Leon van Bon piped Thomas Ziegler at the line to take the 227.5km third stage of the Paris-Nice race.
Van Bon has also won two stages on the Tour de France
The 31-year-old braved near freezing temperatures to win the longest stage of the race between Chapelle-Saint-Ursin and Roanne.
Van Bon and Ziegler were at one stage 15 minutes clear after a breakaway but eventually they finished just 25 seconds ahead of the peloton.
Belgium's Tom Boonen led the chasing pack and claimed third.
The win was Van Bon's first of the season and the Lotto Domo rider was a relieved man after almost losing out when he relaxed too close to the line.
"Since it was cold I decided to warm up before the start of the stage," said the 31-year-old.
"when Ziegler attacked I decided to go with him even though I didn't know exactly how it would pan out.
"I only started to believe we had a chance of taking it all the way once we built a 12-minute lead."
German CSC rider Jorg Jaksche retained the overall race lead with a six-second advantage over Italy's Davide Rebellin.
1. Leon van Bon (Netherlands) five hours 38 minutes 18 seconds
2. Thomas Ziegler (Germany) same time
3. Tom Boonen (Belgium) at 25 seconds
4. Robert Hunter (South Africa) same time
5. Pietro Caucchioli (Italy) same time
6. Jens Voigt (Germany) same time
7. Kim Kirchen (Luxembourg) same time
8. Thor Hushovd (Norway) same time
9. Fabian Wegmann (Germany) same time
10. Pablo Lastras (Spain) same time
Leading overall standings:
1. Jorg Jaksche (Germany) nine hours 43 minutes 55 seconds
2. Davide Rebellin (Italy) Gerolsteiner at 6 seconds
3. Bobby Julich (U.S.) 18 seconds
4. Frank Vandenbroucke (Belgium) 22
5. Jens Voigt (Germany) CSC 22
6. Oscar Pereiro (Spain) 25
7. Pedro Horillo (Spain) 31
8. Beat Zberg (Switzerland) 32
9. Michael Rogers (Australia) 32
10. Fabian Cancellara (Switzerland) 34