The victory means the Mariners will go into the final three games of the season trailing wild-card contenders Kansas City and Oakland by no more than three games. Both the Royals and Athletics were due to play later Thursday.
It was the second multihomer game of Morrison's career. Five of his 11 home runs this season have come in September.
Yoervis Medina (5-3) worked one inning for the win and Fernando Rodney, the ninth Seattle pitcher of the game, gave up Kevin Pillar's leadoff homer in the ninth but finished for his 47th save in 50 chances.
Toronto took a 2-0 lead against Mariners starter Tom Wilhelmsen in the second, but the Mariners answered with a four-run fourth. Chris Taylor led off with a bunt single, Seattle's first hit of the game and left-hander Daniel Norris left after a one-out walk to Kendrys Morales.
The Blue Jays tied it in the fifth on Edwin Encarnacion's sacrifice fly and Adam Lind's RBI single, but Morrison led off the sixth with a homer into the right field bullpen. One out later, Zunino drilled a Dustin McGowan pitch into the left field bullpen, his 22nd home run.
Seager made it 7-4 with an RBI single off Brandon Morrow in the seventh.