St. Louis Cardinals Randal Grichuk slides into home plate past the tag of Kansas City Royals catcher Salvador Perez on a sacrifice fly ball in the eighth inning at Busch Stadium in St. Louis on June 12, 2015. St. Louis won the game 4-0. Photo by Bill Greenblatt/UPI

St. Louis Cardinals Randal Grichuk slides into home plate past the tag of Kansas City Royals catcher Salvador Perez on a sacrifice fly ball in the eighth inning at Busch Stadium in St. Louis on June 12, 2015. St. Louis won the game 4-0. Photo by Bill Greenblatt/UPI

Jaime Garcia was excellent in helping the St. Louis Cardinals to a 4-0 win over the Kansas City Royals in the opener of a three-game set.

Garcia (2-3), who has not given up more than three runs in each of his five outings since coming off the disabled list, scattered four hits over his 96- pitch, eight-inning effort on Friday night.

“You could obviously tell the sinker was working… but he also had his breaking ball going as well as his changeup,” Cardinals manager Mike Matheny said. “I don’t think you can ask for much more.”

Jon Jay had two RBI and Randal Grichuk knocked a run in for the Cardinals.

Yordano Ventura (3-6) lasted just three innings due to right hand weakness. Ventura allowed two runs on four hits and a walk in his abbreviated outing.

Kansas City, which is winless in Ventura’s last four starts, had its four-game winning streak halted.

Ventura was able to get the first two outs of the second, but Grichuk singled and scored on Jay’s first triple of the season for a 1-0 lead. Garcia kept the rally going with an RBI knock to left that plated Jay.

Garcia limited the Royals to two hits over the first five innings, then he worked around a pair of two-out singles in the sixth to keep the visitors off the board.

“Superb execution,” Royals manager Ned Yost said of Garcia. “He could walk up the plate with a ball and say ‘OK I’m putting it here’ and that’s where he was putting it.”

St. Louis padded its lead in the eighth with two more runs via Grichuk’s RBI triple and Jay’s sacrifice fly.

Kevin Siegrist came on in the ninth inning to secure the win for St. Louis.