Vladyslav Supriaha was the star for Ukraine, the 19-year-old Dynamo Kiev player scoring twice as his country won the prestigious title for the first time, succeeding the England side who won in 2017.
The Koreans had taken an early lead in Lodz in central Poland, with Valencia starlet Lee Kang-in converting a fifth-minute penalty awarded following a VAR review after Kim Se-yun had been fouled right on the edge of the box.
However, Ukraine levelled in the 34th minute, Supriaha turning and prodding in after the Korean defence had failed to clear a free-kick.
The same player then gave Ukraine the lead eight minutes into the second half, firing home after Kim Hyun-woo had inadvertently played the ball into his path when trying to make a challenge.
The Koreans almost levelled when Lee Jae-ik's header was saved by Andriy Lunin, the ball hitting the post on its way to safety.
Instead, Ukraine secured the title a minute from time when Heorhiy Tsitaishvili ran more than half the length of the field before finishing emphatically into the far corner.
Ukraine had finished top of a group also containing the United States, Nigeria and Qatar, before seeing off Panama, Colombia and then Italy on their way to the final.
France, Argentina and Portugal had been among the other nations taking part in Poland.