The 33-year-old athlete beat the previous world record set in Berlin by Kenyan runner Dennis Kimetto, who won the Berlin race in 2014.
"I lack words to describe this day," Kipchoge said following his victory.
"They say you miss two times, but you can't miss the third time," he said, referring to his two previous attempts to break the world record in Germany.
Amos Kipruto of Germany came second at two hours, six minutes and 23 seconds, followed by former world-record holder Wilson Kipsang of Kenya, who was just 25 seconds behind.
Race organizers initially timed Kipchoge one second slower but later recorded the correct time.
The women's race was won by Kenyan Gladys Cherono in 2 hours, 18 minutes and 11 seconds.
Earlier this year, Kipchoge won the London Marathon for the third time.
"It was hard," he said at the time. "I ran my own race, I trusted my trainers, my program and my coach. That's what pushed me in the last kilometers."