Kenya's Eliud Kipchoge won the men's London Marathon, with Ethiopia's Tigist Tufa victorious in the women's race.
Kipchoge, the 5,000m world champion in 2003, finished five seconds in front of another Kenyan athlete, Wilson Kipsang.
Britain's Paula Radcliffe, the women's record holder, finished the race in her last competitive London Marathon.
In the men's wheelchair race, Britain's six-time winner David Weir came second as he lost out in a sprint finish to American Joshua George.
Kipchoge and Kipsang were level with 600m of their race left before the former moved ahead to win the event for the first time, clocking two hours four minutes 42 seconds.
Kipsang, the 2012 and 2014 winner, came home ahead of world record holder Dennis Kimetto, who completed a Kenyan one-two-three.
"The race was good and I feel OK," said Kipchoge. "This is a major championships and it was like an Olympic Games.
"To only have 500 metres to go and be next to someone like Kipsang shows this is a major competition. The crowd were wonderful and they lifted my spirits."
Kipsang added: "This is one of the best races and a really strong field.
"I'm happy for my friend to have won and for me as defending champion to run a good time and get second place, I'm really happy. It was a very tough race but a fantastic one."
In the women's race, 2014 Shanghai Marathon winner Tufa sprinted clear to finish in 2:23:22 and comfortably beat Kenya's two-time London winner Mary Keitany.
The Ethiopian was among a group of nine athletes with three miles to go before she and compatriot Tirfi Tsegaye broke away from the rest.
Tufa, 28, then moved clear alone to win by 18 seconds from Keitany, the 2011 and 2012 winner.
Tsegaye was third with Sonia Samuels, the first British athlete to finish, 16th in a time of 2:31:45.
"The weather was very difficult for me and I found it a very slow race until the end and I was pushed," said Tufa.
"I've always dreamed about winning the London Marathon and I can't say how happy I am that this has come true."
Organisers say a record number 37,500 started the race, raising millions of pounds for charity.