Nimes - New Zealander Jack Bauer came within 100 metres of winning Sunday's 15th stage of the Tour de France after a 222km breakaway before Alexander Kristoff chased him down.
The Norwegian won his second stage of this Tour following the run from Tallard to Nimes, the third longest stage of 2014.
Bauer and escape companion Martin Elmiger had attacked from the off and held a lead of almost nine minutes after 26km but were gradually reeled in.
Coming into the last kilometre they still had around 12sec on the bunch and while Elmiger wilted, Bauer fought right to the end, only to be overhauled by the peloton in the last 100 metres.
After crossing the line 10th, he broke down in tears.
"It's just bitter, bitter disappointment. It's a childhood dream to win a stage of the Tour and for a domestique, like myself, I'm normally working for others," said the 29-year-old.
"This was my first chance to be up the road and with the chance in the wind and the weather, me and Martin realised we had a chance for the win.
"I faked to be tired but felt I had more punch left. I left it until 400 metres to go. I thought I had it but then I realised in the last 50 metres, that I had nothing."
Kristoff, who also won Thursday's 12th stage in Saint-Etienne, said he thought the peloton had left it too late.
"I was scared of course that they would keep ahead but there were some strong pulls at the end by Giant-Shimano to pull them back," said the 27-year-old.
"At the end I had the best lane but I wasn't sure I'd win until 100 metres to the finish."
With a 45-second lead and 8km left it looked like the breakaway duo might hold on as the chase was disorganised.
"There were a lot of roundabouts at the end which made it very difficult to get the team together to make a good chase," said Kristoff.
The Norwegian admitted he was also surprised to win because he didn't think he would be able to beat Germans Marcel Kittel and Andre Greipel in a sprint finish.
Giant's Kittel, who had won three of the first four stages, finished 11th while Greipel, the sixth stage winner, came home fourth.
"I was hoping to win the stage but I didn't expect to beat Greipel and Kittel today so I'm really very happy," said Kristoff, who rides for Russians Katusha.
"It's great to take a second stage, I didn't expect so much from this Tour. I was hoping for one and now I have two so it's better than expectations."
Australian Heinrich Haussler took second on the stage with Peter Sagan third.
For Slovak Sagan it was his eighth top-four finish at this Tour and 10th inside the top nine, but he still hasn't won one.
Race leader Vincenzo Nibali had a relatively calm day in the saddle, coming home in the bunch to maintain his 4min 37sec lead over Spain's Alejandro Valverde, with young French pair Romain Bardet and Thibaut Pinot third and fourth at 4:40 and 5:06 respectively.
Chinese rider Ji Cheng remains 171st and last at more than four hours, as well as being 24 minutes adrift of the second last rider.
Nibali may not have been in the action much but he did impress in one instance on a day of strong winds, rain, storms and generally awful weather.
The BMC team of American Tejay Van Garderen had taken up pace-setting duties on a stretch of road where crosswinds were a risk.
Realising the danger, Nibali accelerated alongside the long line of riders to ride up to the front and tuck in behind the leading BMC riders.
"There was a lot of wind coming from the side at that time and I saw BMC all massing at the front," said the 29-year-old Italian.
"I didn't want to lose the right moment to get up front because when there's wind, you have to be at the front."
Results from the 15th stage of Tour de France, a 222km ride from Tallard to Nimes on Sunday:
1. Alexander Kristoff (NOR/KAT) 4h56min 43sec (average: 44,9 km/h)
2. Heinrich Haussler (AUS/IAM) at 0:00.
3. Peter Sagan (SVK/CAN) 0:00.
4. Andre Greipel (GER/LTB) 0:00.
5. Mark Renshaw (AUS/OPQ) 0:00.
6. Bryan Coquard (FRA/EUC) 0:00.
7. Ramunas Navardauskas (LTU/GRM) 0:00.
8. Romain Feillu (FRA/BSE) 0:00.
9. Michael Albasini (SUI/ORI) 0:00.
10. Jack Bauer (NZL/GRM) 0:00.
11. Marcel Kittel (GER/GIA) 0:00.
12. Bernhard Eisel (AUT/SKY) 0:00.
13. Samuel Dumoulin (FRA/ALM) 0:00.
14. Jos Joaquin Rojas (ESP/MOV) 0:00.
15. Niki Terpstra (NED/OPQ) 0:00.
16. Martin Elmiger (SUI/IAM) 0:00.
17. Jrgen Roelandts (BEL/LTB) 0:00.
18. Nlson Oliveira (POR/LAM) 0:00.
19. Cyril Lemoine (FRA/COF) 0:00.
20. Greg Van Avermaet (BEL/BMC) 0:00.