Russia's Sergey Kirdyapkin set a new Olympic record in winning the men's 50km walk at London 2012.
Kirdyapkin broke away after catching China's Si Tianfeng at the 40km mark and went on to win in three hours 35 minutes 59 seconds.
Australia's Jared Tallent matched the silver medal he won at the 2008 Games in Beijing, while Si was third.
Ireland's Rob Heffernan was fourth with Britain's Dominic King 51st and last, more than 39 minutes behind the winner.
King, whose finishing time was 4:15.05, spent the last of his 25 laps high-fiving and applauding the crowd, which had provided tremendous support for all the athletes on the 2km circular course around The Mall and Buckingham Palace.
Si made the first big move, around two-thirds of the way into the race, but hopes of a first Chinese gold in the event faded as Russian trio Kirdyapkin, Igor Erokhin and Sergey Bakulin stepped up the pace.
Kirdyapkin then went clear and, as his team-mates and Si fell away, Tallent took advantage to move into second.
Heffernan looked to be closing in on Si but the Irish walker was forced to hold off the challenge of Erokhin over the final 100m to clinch fourth spot.