Asian Cup: South Korea 2 Uzbekistan 0 (AET)
After a pulsating but goalless 90 minutes, an extra half-hour was required to settle the first quarter-final, with Bayer Leverkusen winger Son producing the decisive moment in the 104th minute at AAMI Park.
A dreadful error by Shukhrat Mukhammadiev allowed South Korea to take the lead, with the Uzbek full-back losing possession as he dribbled out of his own penalty area.
That allowed Kim Jin-su to attack and his deflected cross was nodded home by Son.
The 22-year-old had not started his team's past two games due to a virus, coming off the bench against Australia on Saturday, and showed why he is so important to South Korea with a second goal in the penultimate minute.
South Korea were therefore able to move into the final four of the Asian Cup for the fourth time in the past five editions, having finished third in 2000, 2007 and 2011.
Uzbekistan settled first, absorbing South Korea's pressure in their 4-1-4-1 formation and launching direct and incisive counter-attacks.
The central Asians almost opened the scoring in the sixth minute when captain Odil Ahmedov crossed from the right but a diving Lutfulla Turaev just failed to make contact with his attempted header.
Ahmedov then volleyed over from directly in front 11 minutes later.
But as the half continued, South Korea became more prominent with the returning Son their inspiration.
Uzbekistan keeper Ignatiy Nesterov pulled off a brilliant double-save to deny Lee Keun-ho and Nam Tae-hee in the 25th minute - after Son released the former with a fine throughball.
Son then curled a shot towards the top corner that Nesterov tipped over the bar.
Uzbekistan suffered a blow on the half-hour mark as Ahmedov came off, wincing in pain, with Timur Kapadze replacing him.
The first half petered out thereafter but South Korea started brightly after the break.
Nesterov stopped Son's free-kick from sneaking in at the near post in the 47th minute, while Lee Jeong-hyeop could not beat the Uzbek gloveman with a free header soon after.
Both sides continued to create half-chances as the game opened up, although the goalkeepers were rarely seriously threatened.
Turaev wasted a huge opportunity with a back-post header with 12 minutes remaining, after great work by Sardor Rashidov, while Nam completely missed a cut-back from directly in front of goal four minutes later.
Extra time was needed and, after spending most of the first period camped in Uzbekistan's half, South Korea finally hit the front when Son's header squirmed through Nesterov's hands and rolled over the line a minute before the break.
Uzbekistan pushed desperately for an equaliser in the second period but Son put the game beyond doubt with a powerful drive in the 119th minute.