Gebrselassie held the lead after 36 kilometers but Kipyego pulled ahead at the 38-kilometer mark and crossed the finish line with a time of 2 hours, 7 minutes, 37 seconds.
“I was able to close the gap on Haile,” Kipyego said. “I thought I should hang back for a bit but changed my mind and pushed because there were other runners coming from behind.”
Gebrselassie, who finished fourth with a time of 2:08:17, was aiming to secure a place on the Ethiopian team for the London Olympics but needed to run under 2:04 to boost his chances.
Still, the long distance great wasn’t about to give up on going to London.
“I could run another marathon in two weeks,” Gebrselassie said. “I felt fantastic here for the first 30 kilometers then had some problems at the end of the race.”
Japan’s Arata Fujiwara was second in 2:07:48 followed by Uganda’s Stephen Kiprotich in 2:07:50.
The 38-year-old Gebrselassie has struggled in recent marathons, failing to finish in the 2010 New York City Marathon and failing to start last year’s Tokyo Marathon after injuring himself in training.
Gebrselassie and defending champion Hailu Mekonnen, who finished eighth with a time of 2:09:59, broke away from the pack at the 26-kilometer mark but the two Ethiopians couldn’t maintain the quick pace.
“Sometimes you are too ambitious,” Gebrselassie said. “This can happen. My target was 2:05 today but it didn’t work out that way. On the last downhill, I started to get some pain in my back.”
Switzerland’s Viktor Rothlin, who won this race with a course-record time of 2:07:23 in 2008, was fifth with a time of 2:08:32.
Ethiopia’s Atsede Habtamu won the women’s race with a time of 2:25:28, 32 seconds ahead of compatriot Yeshi Esayias. Kenya’s Helena Kirop was third in 2:26:02.