Rio Olympics 2016: Matej Toth of Slovakia wins 50km walk in Rio

Media playback is not supported on this device

Agony & ecstasy in men's 50km race walk

World champion Matej Toth of Slovakia beat London 2012 gold medallist Jared Tallent into second place to win the 50km walk in Rio.

Toth, 33, moved past the Australian in the latter stages of a race which world record-holder Yohann Diniz led for more than 30km.

Japan's Hirooki Arai took bronze, while Ireland's former world champion Rob Heffernan was sixth.

Britain's Dominic King was disqualified for three bent-knee warnings.

Toth finished in three hours 40 minutes 58 seconds, 18 seconds ahead of Tallent, who finished second in London but was upgraded to gold this year when Russia's Sergey Kirdyapkin was stripped of the title for doping.

Arai crossed the line in third ahead of Evan Dunfee, but was disqualified for elbowing the Canadian during the race.

Japan won an appeal and Arai was reinstated, and Dunfee said he would not contest the ruling as he "would not have been able to receive that medal with a clear conscience".

"I will sleep soundly tonight, and for the rest of my life, knowing I made the right decision," he said in a statement.

Subscribe to the BBC Sport newsletter to get our pick of news, features and video sent to your inbox.

Top Stories