ST. LOUIS -- Even when his Kansas City teammates were not scoring runs for him, Danny Duffy did not let himself get frustrated on the mound.
"Sometimes it's just the luck of the draw," Duffy said. "I've had many games in my career where they bailed me out of a six-run loss."
Duffy thought he was perhaps headed to another one of those nights Monday night against the Cardinals, when he allowed only a first-inning single to Matt Holliday but still found himself locked in a scoreless duel against Shelby Miller through six innings.
That was when his teammates finally broke out, scoring three runs in the seventh in what turned out to be a 6-0 victory.
The three-run outburst matched the total number of runs the Royals had scored in 33 innings in Duffy's six starts this season when he was on the mound.
Alex Gordon put the Royals ahead with a home run leading off the inning, and after two singles and a wild pitch, Mike Moustakas laced a two-run double. The three runs snapped a scoreless streak of 17 consecutive innings by the Royals.
Moustakas was just happy the rally came in time to get a win for Duffy, who struck out five and walked one before being lifted for a pinch-hitter in the seventh as he raised his record to 3-5.
"He threw phenomenal," Moustakas said. "That's a good hitting team over there and to do what he did against a team of that caliber was a phenomenal performance by him."
Manager Ned Yost agreed.
"At the end of the game, I told him, 'You pitched a great game. You didn't throw a great game, you pitched a great game,'" Yost said. "He changed speeds, he kept the ball down. He was just on top of his game tonight."
A three-run eighth against the Cardinals bullpen sealed the victory and three Kansas City relievers allowed only two hits over the final three innings as the Royals recorded only their second shutout of the Cardinals in 77 interleague games. The other time was in 2011.
Getting shut out is not new for the Cardinals these days, as their offense has failed to match its record-setting performance from 2013. They were shut out for the second consecutive game at home, the first time that has happened since 1992, and for the first time since a doubleheader against Cincinnati on July 11, 1937, they were shut out in consecutive games by six runs or more, having lost 8-0 to the Giants on Sunday.
The Cardinals have managed only 16 combined hits in their last four games, and equaled a franchise record with their fourth consecutive game with five hits or less.
"This isn't how we're going to win games," said manager Mike Matheny. "We've got to find something. This isn't working.
"We've had lots of meetings. We've had the conversations we need to have. We just have to get better. ... It would be nice if we could put our finger on it and fix it. I think it's a lot of different things. We're just in one of those spots and we're going to have to work our way through it."
The Cardinals have been shut out six times in their first 58 games and have scored only 218 runs, ninth in the NL. Their current scoreless streak has reached 29 innings.
"This is an offense I know that takes a lot of pride in how they go about their at-bats, and it's amazing, because you see the work they are putting into it, but it comes down to production," Matheny said. "We just have to work our way through it and find a way to get better."
Holliday had two of the Cardinals' three hits, the other a single by Randal Grichuk in the ninth inning.
"We know that we are good hitters," said catcher Yadier Molina, who was 0-for-3 and is now in a personal 2-for-21 slump. "Sometimes those things are going to happen."
NOTES: Tests on Lance Lynn's right knee were negative, and the right-hander is expected to be ready for his next scheduled start, Friday night in Toronto, the Cardinals announced. Lynn was injured on a play at first base in Sunday's loss to the San Francisco Giants. ... 1B Allen Craig left Sunday's game after being hit in the head by a pitch, but he was back in the Cardinals' starting lineup Monday. ... The Royals purchased the contract of RHP Wilking Rodriguez from Triple-A Omaha, and they optioned RHP Louis Coleman to the minor league team. To open a spot on the 40-man roster, Omaha LHP Justin Marks was designed for assignment. ... Monday night was the start of a stretch of nine consecutive games against AL opponents for the Cardinals, who will play in Toronto and Tampa Bay following four games against Kansas City.