Andre de Grasse of Canada has won the Olympic gold medal in the men's 200 meters five years after finishing second to Usain Bolt, ending a string of close calls for the 26-year-old.
De Grasse won in a national-record time of 19.62 seconds, holding off two Americans for the medals.
Kenneth Bednarek won silver in a personal-best 19.68 seconds, and 2019 world champion and race favorite Noah Lyles took bronze in 19.74. Erriyon Knighton, the youngest member of the U.S. men's track team at 17, placed fourth in 19.93.
De Grasse has now filled out a medal collection that was missing only a gold. He won bronze four nights earlier in the 100 meters to go with the third-place medal he took in Rio de Janeiro. He also won a silver in the 200 in Rio, when he famously challenged Bolt in the semifinal -- drawing a playful finger wag -- before being blown away by the Jamaican champion in the final.
Given all he has been through, it was no surprise when De Grasse revealed that he had been crying behind the bronze-colored shades he wore for the race.
"It's my first time being so emotional on the track," said De Grasse, the first sprint gold medalist for Canada since Donovan Bailey won the 100 at the 1996 Atlanta Olympics. "I always thought I came up short winning bronze and silver, so it's just good to have that gold medal. No one can take that away from me."
Lyles made a mistake the night before in the semifinals, slowing down too far before the line, getting edged out for the two automatic spots and being forced to wait to see if his time would earn him a qualifying spot.
It cost him in the final. Forced to start in Lane 3, Lyles pushed out too quickly. He had the lead heading into the homestretch but had nothing more to give.
"Unfortunately, I couldn't see anybody and was running for my life," Lyles said. "I thought I was the one behind. I felt like I was the one chasing."
In other medal races at the Olympic Stadium, Emmanuel Korir won gold and led a Kenyan 1-2 finish in the men's 800 meters and Peruth Chemutai of Uganda chased down American Courtney Frerichs to claim gold in the women's 3,000-meter steeplechase.
Korir pushed his way past Australia's Peter Bol on the final turn and surged home to win in 1:45.06. It was Kenya's fourth straight victory in the 800 at the Olympics.
Teammate Ferguson Rotich took silver with a late kick to overtake Poland's Patryk Dobek, who held on for bronze ahead of Bol.
David Rudisha had won the previous two Olympic gold medals in the 800, but he didn't make Kenya's team this year because of long-term injury problems.
The world-record holder still made sure to congratulate the new 800 champ. Shortly after Korir walked off the track, a cellphone rang in the pocket of a Kenya team official next to him. The official produced the phone, popped it on speaker and announced: "It's Rudisha."
"Congratulations, man, congratulations," Rudisha said, with everyone, including Korir, listening intently. "Ah, that was impressive. You ran a smart race, a smart race. How do you feel?"
Korir, who had moments earlier explained how he had been inspired by Rudisha when he was a kid, was lost for words, replying, "I'm so happy. I don't know what to say."
Rudisha laughed and then offered a little early advice.
"You'll start feeling that weight now," he said. "That's good. That's good. Fantastic. All the best. We'll see you when you come back home."
Clayton Murphy of the United States, the bronze medalist in 2016, finished last.
In the steeplechase, Chemutai made her move on the final lap before pulling away for the win. She set a national record with her time of 9:01.45.
Frerichs took off from the pack with around 2½ laps to go, then held on for silver after being caught by Chemutai. Hyvin Kiyeng of Kenya was third.
Emma Coburn of the United States was disqualified for what was listed as a lane infringement after finishing behind the field. She had earned bronze at the 2016 Rio Games.
"I should have been perfect today," Coburn said. "I should have been excellent. And I wasn't. And I don't think there's anything we could have done differently in practice to make today less of a disaster, which is upsetting."
Wojciech Nowicki of Poland finally has a gold medal after winning the men's hammer throw.
The 32-year-old led from the first round and improved with each of his first three attempts to reach a personal-best 82.52 meters, the winning mark.
Nowicki was a bronze medalist at the 2016 Olympics and won bronze medals at three world championships.
Eivind Henriksen of Norway set a national record with a throw of 81.58 meters in the fifth round and finished with the silver medal. Four-time world champion Pawel Fajdek of Poland took bronze with a mark of 81.53.
Allyson Felix advanced into the final of the 400 meters, though the nine-time Olympic medalist acknowledged this isn't like it used to be.
"You get older," the 35-year-old said, "and it seems like it's harder."
The Associated Press contributed to this report.