The 37-year-old two-time Olympic and quadruple world title winner, timed 28minutes 2seconds over the 10 kilometres course, finishing just over a minute behind the world record.
Spaniard Ayad Lamdessem pushed hard until the last stretch to get second and Ukrainian veteran and eight time European cross country champion Sergiy Lebid was third.
Gebrselassie, who had been hoping to beat the record of 27 mins and one second set by Kenyan Micah Kogo in 2009, had looked to be in trouble when Lebid blazed a trail early on, but he faded coming towards the business end of the contest leaving the unheralded Spaniard to fight the whole way to the line.
Gebrselassie admitted that he had not found the conditions conducive to running a spectacular time.
"It was tough," he told the BBC.
"When I warmed up, it was cold. I didn't feel good and it was very tough and windy. But the atmosphere was fantastic. It's always a great event."
Gebrselassie's compatriot Werknesh Kidane, world silver medalist in the 10 000 metres at the 2003 outdoor championships, won the women's race.