Ethiopian Atsede Besuye won the women's race with an unofficial time of 2:24:47, her best marathon result so far.
The 36-year-old Gebrselassie smashed his own record here at last year's race when he ran 2hrs 03min 59sec but admitted struggling during the last few kilometres in Sunday's warm weather which ruled out any chance of a new global mark.
"I'm ok, but the last few kilometres were very hard," he said after leading from the front all the way around the 42-kilometre course through the German capital. "It was too warm for a new world record, but I am happy with the time, it's fine."
"I was really tired at the 30km mark and gave too much at the beginning, Gebrselassie said. "I expected more from my opponents, but I just made sure I ran my best."
According to the marathon's Web site, Gebrselassie will take home €80,000 for winning the race.
Race organisers said over 40,000 runners from 122 countries took part in Sunday's event, a record for the Berlin marathon.