Olympic champion Stephen Kiprotich added to his medal haul by beating Ethiopia's Lelisa Desisa and Tadese Tola in the men's marathon.
The Ugandan led with two kilometres remaining, despite heavy pressure, and went on to enter the Luzhniki Stadium 30 seconds ahead of his nearest rival.
His time of two hours, nine minutes and 51 seconds was 21 seconds clear of Desisa in second and Tola in third.
No Kenyans were in the top three for the first time since 2005.
Desisa, who led at the half-way stage, took the race up a gear in the final five kilometres, leading a group that included his compatriots Tola and Beijing Olympic bronze medallist Tsegaye Kabede.
Kiprotich was aware of the threat from the Ethiopian trio and upped the pace to share the front-running with two kilometres to go.
But, in what was a great final kilometre, Desisa found himself in Kiprotich's slipstream, as the Ugandan tried to shake him off by weaving tightly around the corners.
Kiprotich entered the stadium on his own to rapturous applause and celebrated becoming the first non-Kenyan to win the title since 2005 before he had crossed the line.