Ukraine's Oleksiy Torokhtiy won the men's Olympic 105kg weightlifting in a closely fought contest.
The 26-year-old claimed gold with a clean and jerk of 227kg to post a total of 412kg, just 1kg ahead of Iran's Navab Nasirshelal.
The Iranian failed with his final attempt at 229kg in the clean and jerk and had to settle for silver.
Bartlomiej Bonk of Poland, leader after the snatch with a lift of 190kg, took the bronze medal.
Reigning Olympic champion and world record holder Andrei Aramnau withdrew before London 2012 with a leg injury, while world champion Khadzhimurat Akkaev and Beijing silver medalist Dmitry Klokov both pulled out at the last minute with back injuries.
Torokhtiy, 11th in Beijing in 2008, finished the snatch in fourth place, having posted a lift of 185kg but failing with two attempts at 190kg.
Nasirshelal took the lead ahead of Bonk, but Torokhtiy went into the gold medal position with a lift of 227kg and forced the Iranian into a failed attempt at lifting 229kg to win the competition.
Earlier, three-time world champion Marcin Dolega of Poland was eliminated after the snatch having failed to lift 190kg.
"Before the Olympic Games in 2008 I dreamed about taking part in these Olympics, so it came true," said Torokhtiy.
"And I had a new dream to get on to the podium, and it was indifferent for me which place I would get.
"I came here not as a tourist but as a person who has a dream. I don't know what happened today, it's just destiny.
"I don't know where the strength came from. My coach told me I was going to be number two but then somehow I just won. It was a surprise."