The tournament has been marked by massive crowds and more than 56,000 watched a fiercely fought battle at the Millennium Stadium between the two beaten semi-finalists, settled by goals on either side of halftime.
The game also produced seven yellow cards, four for the Koreans and three for Japan.
After weathering some early Japan pressure, Park put the Koreans ahead when he powered through on goal and fired past Japan keeper Shuichi Gonda at the near post after 38 minutes.
Japan came back strongly at the start of the second half but did not take their opportunities and found themselves 2-0 down when Koo doubled Korea's lead in the 57th minute.
Japan battled to the finish and thought they had pulled one back three minutes from time when skipper Maya Yoshida headed in a corner only for the referee to rule it out for a foul.
Saturday's final sees Brazil bid to win their first gold against a Mexico side who are in the Olympic final for the first time.
A win would give Mexico their first gold medal in football and also their first gold from these London Games.