Canada's Andre De Grasse admitted his 100m disappointment inspired him to 200m glory after he ended his wait for Olympic gold.
The 26-year-old finally collected his first Olympic title by taking the 200m crown in Tokyo on Wednesday.
He adds it to the bronze he won in the 100m on Sunday after running a national record of 19.62 seconds.
World champion Noah Lyles was third behind USA team-mate Kenneth Bednarek.
De Grasse, who won 200m silver in Rio five years ago, said: "I've been waiting for this moment, I've been training hard for this moment.
"I went back after the 100m and I was a little bit disappointed in myself, that I could have done better. I said, 'I gotta go and get this 200, I gotta go and get it'.
"I knew the Americans were going to push me and they were going to take me to a personal best. It's been five years since I had a personal best, so it was just good to get that finally out the way.
"That was a good race. My coach told me I've got to go hard on the bend. I've got to stay with Kenny on the turn, he has a magnificent turn.
"'Once you get off that turn, just relax and flow – that's what you're good at. Just try to stay loose, stay relaxed, keep pumping'."
De Grasse overtook Lyles and Bednarek as they closed in on the line and then held off the challenge of Bednarek.
The USA's Erriyon Knighton, a possible heir to Usain Bolt's 200m throne at just 17, came fourth. He ran 19.84 seconds in the US trials to beat Bolt's under-20s record.
Before De Grasse took the title, the USA's Shawn Crawford was the last man to win the 200m other than Bolt in 2004.