Canada (4-0) locked up the top seed in Group B with the win at the Zug Arena. Finland (3-1) opened the game with a pair of first-period goals but Canada came back with three unanswered goals in the second period.
"We fought through a little bit of adversity there in the early part of the game," said Canadian head coach Tim Hunter.
Aleksi Saarela jammed in the puck after a goalmouth scramble to open the scoring at 9:03 of the first period. Patrik Laine made it 2-0 after converting a pass from Jesse Puljujarvi on a two-on-one break at 19:32.
Matt Barzal scored with the man advantage for Canada at 9:49 of the second period and Thomas Chabot tied the game with another power-play goal at 10:55. Benson gave Canada the lead with his even-strength goal at 16:21.
"Once we got moving our feet and pressuring the puck, driving wide, driving to the net and following pucks to the net, we got some success," Hunter said. "We drew some power plays and good things happened."
Veini Vehvilainen made 32 saves for Finland, one more than Canadian counterpart Evan Cormier.
Canada will play Sweden in the quarter-finals on Thursday. The United States will play the Czech Republic, Russia faces Switzerland and Finland takes on Slovakia.
The medal games are scheduled for Sunday. Canada has won this event three times (2003, 2008 and 2013) and finished third last year.