TORONTO — Shelby Miller felt "awkward" as he warmed up before facing the top home run-hitting team in the major leagues.
Then he made the Toronto Blue Jays feel uncomfortable all afternoon.
Miller took a no-hit bid into the sixth inning and finished with a three-hit shutout Saturday in the St. Louis Cardinals' 5-0 victory over Toronto that snapped the Blue Jays' six-game winning streak.
"Warming up in the bullpen, I didn't feel good at all," Miller said. "It's crazy how the game works. I'm a little speechless still. It was a lot of fun doing that."
Randal Grichuk hit his first career home run for the Cardinals, who won for only the third time in 11 games.
"Hopefully we get the ball rolling," Miller said.
Miller (7-5) struck out five and walked one. He retired the first 13 batters before walking Adam Lind in the fifth.
"He carved us up pretty good," Blue Jays manager John Gibbons said.
Miller had lost his previous three starts, permitting at least four runs each time. He was in command against Toronto, pitching the second complete game of his career. His other came May 10, 2013, when he gave up a leadoff single to Colorado's Eric Young and then set down 27 batters in a row.
Cardinals manager Mike Matheny said Saturday's performance might have been even better.
"This one, especially with the way their offense has been producing, is the best one I've seen," Matheny said.
Jose Reyes lined a single to right field with two outs in the sixth for Toronto's first hit. Melky Cabrera followed with a ball that nicked first baseman Allen Craig's glove for a double, but Miller struck out Jose Bautista swinging at a high fastball to end the inning.
"He turned it up, no question," Matheny said. "That's a huge part of the game right there, obviously, with one of the best hitters you're going to see."
Mark Buehrle (10-2) had won six straight decisions. Grichuk's solo homer was the only run Buehrle allowed in seven innings.
"He hammered that ball," Matheny said of Grichuk's drive. "That's the kind of power that excites you about him. Not many guys have that kind of juice to the center of the field."
The Cardinals (32-31) avoided dropping below .500. The NL champions scored more than two runs for just the third time in eight games.
Grichuk's one-out homer in the fifth was just the third allowed by Buehrle this season, and the first since May 22.
Buehrle allowed five hits and left with a 2.05 ERA, second in the AL to New York's Masahiro Tanaka. He matched a season-high with five walks and struck out six.
St. Louis broke it open with four runs in the eighth. Mark Ellis drew a bases-loaded walk from Aaron Loup, and one out later, Tony Cruz hit a two-run single.
Steve Delabar replaced Loup and issued back-to-back walks to Matt Carpenter and Grichuk to make it 5-0.