The world champion crossed the finish line in a time of 2:06:09, 14 seconds ahead of Kenya's Chala Dechase Beyene but more than two minutes slower than his record time.
Eshetu Wendimu of Ethiopia placed third.
"I wanted to break the record, but what can I do?" the 36-year-old told reporters.
"It's important to break my record, one day it will happen."
The $2 million event had attracted around 12,000 runners, according to organisers, with a $1 million bonus pool on offer to anyone breaking Gebrselassie's earlier world record.
"I didn't have a good night last night, my back was not in the right position," Gebrselassie added.
However, he said the problem was minor and he would still be aiming for a marathon gold at the 2012 London Olympics.
In the women's event, Ethiopia's Mamitu Daska Molisa won in a time of 2:24:18, six seconds ahead of compatriot Aberu Kebede Shewaye. The third place went to Kenya's Helena Loshanyang Kirop (02:24:54).
Officials suspect foul play in Dadar mill fire
Mumbai Marathon: African runners set to dominate
Home prices almost back to 2007-08 levels