Randal Grichuk saved the Cardinals from another poor offensive showing in the ninth.
The outfielder, who entered in a double switch in the seventh inning, launched a two-run home run to tie the Blue Jays at 4-4 with two outs in the ninth. Yadier Molina had reached base with a leadoff double two batters earlier.
The Cardinals also added their second run of the game in the eighth inning when first baseman Matt Carpenter drove in Dexter Fowler.
Toronto's bullpen has collectively given up four runs, all earned, in three innings of work.
Lyons gives up run in first appearance, Cards add run
Cardinals reliever Tyler Lyons appeared in his first game of the season, but it did not go as planned.