Defensive midfielder Romulo put Brazil ahead in the 38th minute and Damiao added his goals in the 57th and 64th to leave the South Americans one match away from winning their first gold in football.
The Brazilians will face Mexico, which earlier Tuesday defeated Japan 3-1 at Wembley in the other semifinal.
Brazil was the bronze-medallist in 2008 in Beijing but hadn't reached the Olympic final since the 1988 Seoul Games, when a team led by Romario and Bebeto finished with the silver.
Brazil will be playing in its third Olympics final. It also won the silver in the 1984 Los Angeles Games. The Brazilians got the bronze in 1996 in Atlanta and in Beijing when they lost the semifinal to Lionel Messi's Argentina.
Brazil came to the London Games as the main gold-medal contender because most of its top players make the tournament's under-23 age limit, including Neymar and Oscar. Each nation can also use three older players.
Brazil became the only favourite left in this year's tournament after Spain and Uruguay were eliminated in the first stage and host Britain fell to South Korea in the quarterfinals.
Brazil struggled early and it was South Korea which had the most significant scoring chances in the beginning of the match in front of nearly 70,000 at the Old Trafford.
The Brazilians opened the scoring when Neymar stole a ball and fed it to Oscar. He passed to Romulo just inside the area and the defensive midfielder sent a low shot past South Korea goalkeeper Lee Bum-young just before halftime.
Neymar also set up Brazil's second, crossing into the area for Damiao to fire in a low shot from near the penalty spot.
The striker added his second — and sixth of the tournament — after a pass deflected off a defender and fell into his feet inside the area for another easy goal. He passed Senegal's Moussa Konate as the competition's leading scorer.
South Korea had conceded only two goals in its first four matches. It leaves the tournament with only won outright victory, against Switzerland in the group stage. It eliminated Britain on penalties after a 1-1 draw in regulation and extra time.
South Korea was making its first semifinal appearance at the Olympics.
The South Koreans had their chances against Brazil but couldn't capitalize on them.
Brazil midfielder Sandro had to clear a header by Kim Hyun-sung just in front of the goal in the 12th, and two minutes later defender Juan just barely kept Ji Dong-won from heading a ball into the open net after Brazil goalkeeper Rafael mistimed a ball crossed into the area.
Brazil played with a different set up than in the previous matches. Coach Mano Menezes replaced FC Porto striker Hulk by Alex Sandro, adding the extra midfielder and keeping Oscar, Neymar and Damiao playing up front.
Follow Tales Azzoni at http://twitter.com/tazzoni