The 31-year-old Kenyan crossed the line after 42.1 km (26.2 miles) in two hours, eight minutes and 44 seconds, finishing over a minute clear of second-placed Feyisa Lilesa of Ethiopia.
Galen Rupp of the United States took the bronze medal in wet and humid conditions, which took their toll on the 155 runners from 80 countries.
Mohammad Jafar Moradi of Iran was left to cross the finish line on his hands and knees, one of many who finished totally exhausted.
He completed the distance in 2:31.58 -- over 20 minutes behind Kipchoge -- in 129th place. It was an improvement on his performance at last year's world championships, where he did not finish.
Kipchoge -- the warm favorite after winning six of his previous seven marathons, including London earlier this year in a time just outside the world record -- completed a full set of Olympic medals.
He won bronze and silver over 5,000 meters at the 2004 and 2008 Games respectively, but failed to win selection for the 2012 Olympics on the track.
However, since stepping up to the marathon he has compiled a near perfect record.
Sunday's victory capped Kenya's most successful Olympics, with the East African nation winning six golds and six silver medals.
Kipchoge, Lilesa and Rupp broke clear of a large leading group past the 30 km mark and it became clear the medals would be decided between that trio.
Rupp, a training partner of Britain's Mo Farah, who completed the 5,000-10,000m double Saturday,
was the first to wilt and Lilesa also soon dropped off the relentless pace being set by Kipchoge.
He came home in splendid isolation at the finish in the Sambadrome, home of Rio's famed carnival, before dropping to his knees in celebration.
"I felt I had a little bit in the tank and it was comfortable, it was very comfortable. This is the best win of my life," Kipchoge said.
The marathon was the first gold to be won on the final day of the 2016 Games, which culminates in a closing ceremony at 20.00 local time in the Maracana Stadium.