ST. LOUIS - Jaime Garcia pitched eight innings of four-hit ball and saved some shutdown stuff for the media, too.

The St. Louis Cardinals lefty had little to say about perhaps his best outing in two years.

"I'm extremely happy for the team," Garcia said without conviction after also helping himself with an RBI single in a 4-0 victory that ended the Kansas City Royals' four-game winning streak Friday night in the opener of a high-profile interleague series.

"When you're healthy and you're going out and competing, you're always happy," Garcia added. "I'll enjoy the win tonight for the team and turn the page and get ready for the next one."

Garcia worked more than seven innings for the first time since May 5, 2013, when he went eight in a 10-1 victory at Milwaukee.

Jon Jay snapped a 2-for-24 slump this month with a two-out RBI triple in the second off Yordano Ventura (3-6), and Garcia followed with his 12th career RBI on an opposite-field single — his first since June 3, 2014, against Kansas City.

The Cardinals are 40-21 overall and 23-7 at home, both major league bests. They got a huge outing from Garcia (2-3), so far a success story off thoracic outlet surgery.

"He was as good as we've seen him," manager Mike Matheny said. "I don't know if you could ask for anything more.

"It's no fun to catch, no fun to hit."

Ventura lasted just three innings for the second straight start, removed as a precaution due to weakness in his pitching hand. In those two starts, he's allowed six earned runs.

Royals manager Ned Yost said the team was watching closely because Ventura's velocity was down and in the third the pitcher had trouble with his grip.

Yost said he couldn't recall the last time he heard the term "right hand weakness."

"Of course, you have a level of concern because you don't really know what it is yet," Yost added. "But we'll wait till tomorrow and see what's going on."

The infield had a meeting on the mound during Ventura's final at-bat, a flyout by Yadier Molina. Ventura said through translator Christian Colon that his thumb, right ring finger and pinky had gone numb and that he'd felt "really weird."

Ventura also said he didn't know whether he'd be able to make his next start.

Garcia struck out six with no walks, fanning Omar Infante to open the eighth for the 500th strikeout of his career, and retired the side in order five times. The lefty lowered his ERA to 2.06 and hasn't issued a walk in 30 innings.

Garcia has made five starts — the Cardinals have been shut out in three of them — after totalling 16 starts from 2013-14. He'd been 0 for 8 with four strikeouts before the hit.

In the eighth, Randal Grichuk had an RBI triple on a ball that right fielder Alex Rios whiffed on, and Jay added sacrifice fly. Center fielder Lorenzo Cain, who'd also converged on Grichuk's fly ball, called it a "miscommunication."

The last four lineup spots combined for five hits, three for extra bases, and three RBIs.

"I think you've seen that with our lineup before," Jay said. "Everyone can hit everywhere."

The Royals got two infield hits with two outs in the sixth but Garcia struck out cleanup man Eric Hosmer on an off-speed pitch that ended up at shoe-top level.

TRAINER'S ROOM

Royals: LHP Danny Duffy (biceps tendinitis) has made one rehab start for Triple-A Omaha, working four innings Wednesday, and could make a few more before rejoining the rotation.

Cardinals: Setup man Jordan Walden (right biceps) could be back before the All-Star break.

UP NEXT

Jeremy Guthrie is 3-0 with a 1.85 ERA in six interleague starts with the Royals. Tyler Lyons, recalled from Triple-A Memphis to replace injured Lance Lynn, was 0-0 with a 5.54 ERA in three starts earlier this season. He's 3-1 with a 2.36 ERA in his last four minor league starts.