Kenya's Olympic champion Eliud Kipchoge underlined his status as the world's best current long-distance runner by winning the Berlin Marathon on Sunday, but missed the world record.
Kipchoge clocked an official time of two hours, three minutes 32 seconds after holding off the challenge of Ethiopia's Guye Adola, who finished 14 seconds back on his debut at the distance (42.195km, 26.219 mi).
Ethiopia's Mosinet Geremew finished third, clocking 2:06:12.
"The conditions were not easy, because of the rain, but fortunately there was not too much wind," said Kipchoge.
In the women's race, Kenya's Gladys Cherono won with Ruti Aga of Ethiopia second and Valary Aiyabei of Kenya taking third.
Heavy rain the night before and constant drizzle during the race meant the world record of 2:02.57, set in Berlin by Dennis Kimetto of Kenya in 2014, did not fall as expected.
However, there were surprises as both former world record holder Wilson Kipsang and last year's winner Kenenisa Bekele dropped out after the halfway stage.
Bekele, who had targeted the world record, dropped off the lead group just after the halfway mark with laboured running and eventually failed to finish.
Kipsang suddenly stopped at the 30kms point and was clearly ill.
"I'm glad I beat Adola, I did not expect to fight against someone other than Bekele or Kipsang," added Kipchoge, who was left to go head-to-head with Adola, who ran a superb race.
The 26-year-old Adola, who took bronze at the 2014 world half marathon championships, held the lead in the closing stages before Kipchoge took charge.
The 32-year-old Kipchoge, who won the London Marathon in a course record in April, has now won eight of his last nine marathons dating back to 2013.
With six kilometres to go, Adola threatened to claim a shock win when he made a break, but Kipchoge stayed in his wake, closing the 10-metre gap and regained the lead for the final two kilometres.