The Kenyan defended his title in the German capital, pulling ahead of his competitors early on amid perfect running conditions.
He broke the previous world record set in Berlin by fellow Kenyan Dennis Kimetto in 2014 by 1 minute and 18 seconds.
Race organizers initially timed Kipchoge a second slower, but later corrected the time.
Berlin debutant Amos Kipruto came second in 2 hours, 6 minutes and 23 seconds, followed by a third Kenyan, former world-record holder Wilson Kipsang, who was 25 seconds behind.
“I lack words to describe this day,” Kipchoge said after winning the race.
“They say you miss two times but you can’t miss the third time,” he said in reference to his two previous failed attempts to break the world record in Berlin.
Shogo Nakamura of Japan narrowly missed setting a new national record with a time of 2 hours, 8 minutes and 16 seconds.
Gladys Cherono won the women’s race in 2 hours, 18 minutes and 11 seconds, a new women’s record for the Berlin marathon.
The Kenyan finished ahead of Ethiopians Rutia Aga and Tirunesh Dibaba.