Werth had a chance to tie the major league record of four homers in a game in the seventh inning. But with most of the 36,600 fans still in the stands despite the lopsided score and brisk weather, standing and cheering, he fouled out to first base on a 3-2 pitch off Brian Tallet.
Werth hit an 0-1 pitch off Blue Jays starter David Purcey for a three-run home run to right field in the second inning and followed with a 425-foot grand slam to right on a 3-1 pitch against Purcey (0-1) in the third.
He then ripped a solo shot to left-center in the fifth off reliever Jesse Litsch on a 2-1 pitch for a 9-2 lead.
The homers and eight RBIs were career highs for Werth. He became the 18th Phillies player to record three homers in a game. Ryan Howard was the last to hit three
- on Sept. 3, 2006, against Atlanta in the first game of a doubleheader.
The eight RBIs tied a franchise record held by four players, most recently accomplished by Mike Schmidt in a 10-inning game at Chicago on April 17, 1976. The others are Kitty Bransfeld (1910), Gavvy Cravath (1915) and Willie Jones (1958).
Howard extended his hitting streak to eight games with an RBI single to right, scoring Jimmy Rollins, ahead of Werth's grand slam.
Philadelphia's 45-year-old left-hander Jamie Moyer (3-3) went 6 2-3 innings and gave up seven hits and three earned runs. He walked two and struck out five.
Purcey, who was making just his second major league start, allowed five hits and eight runs while walking four in three shaky innings.
Alex Rios and Lyle Overbay had two hits each for the Blue Jays, who had their four-game winning streak snapped.