"Just a great win, great series against a team that couldn't be any hotter than they were when we rolled in here," Cardinals manager Mike Matheny said of beating the AL East-leading Blue Jays.
Garcia (2-0) allowed three hits in seven innings, walked three and struck out four to win for the first time in three starts.
"They've got one of the best lineups in the league and I knew it was going to be a tough challenge," Garcia said. "I was able to get them off balance a little bit and then tried keep the ball down."
The Cardinals recorded back-to-back shutouts for the first time since May 10 and 11, 2013, against Colorado.
St. Louis won back-to-back games for the first time since May 24 and 25 against Cincinnati.
The Blue Jays, who had been blanked just once this season before Saturday, went scoreless for the second straight game and matched their season-low with three hits. Shelby Miller pitched a three-hitter to beat the Blue Jays 5-0 on Saturday.
"They stuck it to us pretty good the last couple of days," Blue Jays manager John Gibbons said.
Toronto hadn't been shut out in consecutive games since Sept. 3 and 4, 2012, against Baltimore.
Toronto lost consecutive games for the first time since May 29-30 against Kansas City. They haven't lost three straight since dropping the first three of a four-game home series against the Angels from May 9-11. The Blue Jays had won seven series since.
The Cardinals opened the scoring with a four-run, bat-around second against Blue Jays right-hander Drew Hutchison. Peter Bourjos hit a sacrifice fly, Tony Cruz had an RBI double and Carpenter followed with a two-run homer, his first since April 4.
Peralta made it 5-0 when he led off the third with a drive to left, his team-leading 10th.
Hutchison (4-4) allowed five runs and six hits in three innings, his shortest start of the season. He walked one and struck out one.
"He didn't have a lot of snap on his ball," Gibbons said. "They hit him around pretty good so I got him out of there."
Hutchison is 1-3 with an 8.72 ERA in five home starts and 3-1 with a 2.03 ERA in eight road starts.
"I feel the same way when I take the mound every time, home or on the road," Hutchison said. "I just haven't executed well here."
Garcia had not walked a batter in four previous starts this season, but issued a pair in the first inning, with Melky Cabrera and Edwin Encarnacion both drawing free passes. Garcia struck out Brett Lawrie to strand both runners.
An infield single by Jose Reyes, a passed ball and a fielding error by Carpenter gave the Blue Jays runners at the corners with two outs in the fifth, but Garcia struck out Jose Bautista swinging.
"If there was a stressful inning that he had, it was right there," Matheny said.
St. Louis is off Monday before beginning a three-game series at Tampa Bay on Tuesday. Matheny said some of the Cardinals' team's doctors were already scheduled to meet the team in Florida, including their back specialist, and would examine Holliday before Tuesday's game.
"He's already walked by and said he's going to be fine," Matheny said.
NOTES: Bautista drew his ML-leading 50th walk in the eighth. ... Cardinals 2B Kolten Wong (left shoulder) missed his third straight game. ... The roof was open when the game began but started to close in the second inning. ... St. Louis RH Adam Wainwright (8-3) will face Rays RH Jake Odorizzi (2-6) on Tuesday. ... Toronto begins a three game series against Minnesota on Monday. Twins RH Ricky Nolasco (4-5) faces Blue Jays RH R.A. Dickey (6-4).
Link to box score: St. Louis (33-31) 5 at Toronto (38-26) 0
Join the pre-game, in-game and post-game discussion about each contest at The Cardinal Nation message board.