KANSAS CITY, Mo. - When Michael Wacha is on the mound, Matt Carpenter and the St. Louis Cardinals like their chances.

For good reason, too.

Wacha pitched seven sparkling innings for his seventh straight win, and the Cardinals stopped a three-game losing streak with a 6-1 victory over the Kansas City Royals on Sunday.

Carpenter, who hit a two-run homer off Yordano Ventura (3-4) in the sixth, said the NL Central leaders believe they are going to win when Wacha (7-0) takes the mound. Wacha appreciated the vote of confidence from the All-Star infielder.

"That's nice for him to say," Wacha said.

It was the worst losing streak of the season for St. Louis. Kansas City had won five in a row.

Wacha allowed an unearned run and five singles against the majors' best-hitting team, lowering his ERA to 1.87 in nine starts. He is the first Cardinals pitcher to start 7-0 since Matt Morris won his first eight decisions in 2005.

"He was very good," Cardinals manager Mike Matheny said. "He was terrific."

Down 4-1, the Royals loaded the bases with two outs in the sixth, but Alex Gordon flied out on a 2-0 count, which Wacha said was the biggest out of the game.

"I missed on a couple of fastballs in," Wacha said. "I didn't want to go 3-0 on him. I just had to try to paint the inside corner and luckily got it in there enough and (Randal) Grichuk made a good play on it."

Ventura started off shaky, walking the first two hitters on 10 pitches and both scored. Jhonny Peralta hit an RBI single and Matt Adams doubled home a run.

"The first two hitters, he was just missing," Royals manager Ned Yost said. "There were some pitches that I thought could have gone either way that resulted in walks. He kind of got it dialed back in a little bit, then (gave up) the checked-swing single to Peralta and then a first-pitch fastball to Adams for a double. He did a good job of limiting the damage at that point."

Ventura, who threw 30 pitches in the first, then settled down and didn't allow another hit until the sixth.

"Nothing changed," Ventura said through an interpreter. "I was in trouble in the first inning. I lost the feel of it a little bit. But after that I was able to go out and throw strikes."

St. Louis catcher Yadier Molina drove in two runs with a two-out single in the eighth. Adams doubled twice.

Salvador Perez extended his hitting streak to 10 games and singled home a run for the Royals.

RARE ERROR

CF Peter Bourjos' error in the fifth was the first error by a Cardinals outfielder this season. The previous error for a Cardinals outfielder also was committed by Bourjos on June 11 at Tampa Bay. The outfielders went 140 games without an error.

WONG IS HOT

Cardinals 2B Kolten Wong singled, doubled, walked and scored two runs. He extended his hitting streak to eight games, matching his career high, and raised his average to .315.

TRAINER'S ROOM

Cardinals: LF Matt Holliday was scratched with a bruised left forearm after being hit by a pitch from Edinson Volquez on Saturday. ... OF Jason Heyward (hip tightness) was held out of the lineup for the second straight day.

Royals: OF Alex Rios (fractured left hand) left Sunday to join Triple-A Omaha for a minor league rehab assignment. ... 3B Mike Moustakas (bruised left clavicle) left in the fifth inning Saturday, but was in the lineup Sunday.

UP NEXT

Cardinals: RHP Carlos Martinez will start the opener of a nine-game homestand Monday against the Diamondbacks.

Royals: RHP Jeremy Guthrie, who starts the series opener at New York, is 5-10 with a 4.92 ERA in 19 appearances against the Yankees.