Belarusian Nadzeya Ostapchuk's long wait for Olympic gold ended as she finally turned the tables on New Zealand's Valerie Adams to win the shot put competition.

Reigning Olympic champion Adams had come out on top in their last nine encounters but Beijing bronze medallist Ostapchuk launched a third-round throw of 21.36 metres to claim her country's first athletics gold of the Games.

Adams, who beat Ostapchuk to the top of the podium at last year's world championships, briefly led with a throw of 20.70 metres in her third round but could not respond after her rival out-distanced her minutes later.

The three-times world champion was tearful and emotional as she realised her Olympic crown was slipping away.

Russia's Evgeniia Kolodko danced for joy after a personal best of 20.48 in her final attempt gave her the bronze medal ahead of China's Lijiao Gong.

Former American tennis player Vitas Gerulaitis once told a news conference "nobody beats Vitas Gerulaitis 17 times in a row" after finally ending a losing sequence against fellow American Jimmy Connors.

Ostapchuk did not trot out a similar line, but spoke about the long road to the top of an Olympic podium.

"I've been expecting a gold medal since I was 18," the 31-year-old, who has finished runner-up at seven world championships (outdoors and indoors), told reporters.

"I was third in Beijing and the day after that the road began for London. It was a long route to get here."

Adams said she had just "not felt right".

"It just didn't come together," she told reporters. "I put my heart out there trying... it's life, it's sport. It's her day you know, good for her.

"I'm very disappointed with how it was but I'm happy with winning a medal for New Zealand."

Asked if she was going to try and reclaim her gold medal in Rio de Janeiro, she said: "Yeah, I might go to Rio just to piss people off."