Photo Credit:Getty Images.
World record holder Eliud Kipchoge was beaten in the London Marathon as Shura Kitata won a thrilling sprint finish to claim an unexpected victory.
Four-time winner Kipchoge was the favourite, but fell behind with two laps to go and finished eighth.
Ethiopian Kitata pushed ahead of Kenya's Vincent Kipchumba on the home straight to finish in two hours five minutes and 41 seconds.
Brigid Kosgei, who holds the women's world record, defended her title.
Kipchoge, who last lost a marathon in 2013, said: "I am really disappointed. I don't know what happened.
"The last 15km, I felt my right ear was blocked. I had cramp in my hip and leg.
"It just happened in the race. I started well. It's really cold but I don't blame the conditions."
It was supposed to be a straightforward victory for defending champion Kipchoge, with Kenenisa Bekele pulling out injured on Friday.
Meanwhile Mo Farah, a four-time Olympic champion on the track, assisted his fellow British athletes as a pacemaker, helping them achieve the Olympic qualifying time of 2:11.30.
Marathon debutant Ben Connor slowed on the home straight, but managed to cross the line 10 seconds inside the time.
Jonny Mellor, who had achieved the marker before, claimed the British title as he finished in 2:10.38.
In the women's race, Steph Twell, who reached world finals and won a European medal on the track, missed out on the Olympic qualifying time of 2:29:30.
The 31-year-old limped out around mile 16 as she failed to repeat her rapid time from Frankfurt last year. Lily Partridge, the 2018 British champion, also could not finish.
In their absence, Natasha Cockram and Naomi Mitchell fought for the domestic title, with Cockram finishing four seconds ahead of her rival in 2:33:19.