With the win, Canada (5-0) remains undefeated at the tournament while Puerto Rico drops to 3-2 with the loss.
Phillies minor leaguer Chris Leroux continued his dominance on the mound for the Canadians.
The right-hander went six innings, allowing one earned run on three hits while striking out seven and walking two.
Designated hitter Brock Kjeldgaard got Canada's offence going on Thursday. The 29-year-old had an RBI single in the first to give Canada an early 2-0 lead.
Then in the third, the London, Ont. native took Puerto Rican starter Luis Ramos' 0-1 pitch deep to centre field for a three-run home run.
Kjeldgaard finished the night 4-for-4 with four RBIs.
Ramos went three innings, allowing five earned runs on three hits while striking out four and walking three.
After Jeffry Dominguez got Puerto Rico on the board with a solo home run in the fourth, Seattle Mariners' prospect Tyler O'Neill led off the fifth inning with a solo home run to give Canada a 6-1 lead.
Padres prospect Tyson Gillies added to Canada's lead in the fifth with an RBI double.
Canada took an 8-1 lead in the sixth when Skyler Stromsmoe scored on a Peter Orr sac fly. Gillies gave Canada a 9-1 lead with a solo home run in the seventh.
Gillies finished 2-for-4 with two RBIs.
The Canadians added two more runs in the eighth to take an 11-1 lead. O'Neill scored on a throwing error by Puerto Rican first baseman Richard Gonzalez. Then Jordan Lennerton scored on a Rene Tosoni single.
Puerto Rican right fielder Anthony Garcia took Canadian reliever Kyle Lotzkar deep to right for a three-run shot in the eighth, making it a seven-run game.
Canada concludes the preliminary round against the Americans on Friday. The host nation will play in the 7 p.m. semifinal on Saturday night.
Note: Cuba punched their ticket to Saturday's semifinal with an 11-6 win over Nicaragua earlier Thursday evening.