ST. LOUIS -- The few blotches of Royals fans brought the brooms to Busch Stadium on Thursday and had good reason to celebrate.

All the while, the 44,000-plus Cardinals fans had to sit and watch their team get swept for the first time ever by the Royals, losing, 4-1, in the series finale. It was the sixth time in the last seven games that the Cardinals have scored three runs or fewer.

"They did a good job," said right fielder Ryan Ludwick. "Just shut us down."

The flight to Boston on Thursday night cannot be too pleasant as the Cardinals experienced one of their worst three-game stretches this year. For the first time this season, a team swept St. Louis and no club had accomplished that feat at Busch Stadium since April 1-4, 2007.

Only three runners reached base for the Cardinals all game while Zack Greinke threw seven innings and struck out seven batters for the Royals. Greinke relinquished a walk to Cards starter Brad Thompson, a solo home run to Rick Ankiel and a single to Aaron Miles.

Greinke's two hits allowed on Thursday were the fewest the Cardinals have recorded in a game this year.

"He's spotting that fastball down and away all day long," Ludwick said. "Then he'll come in and keep you honest and he's got that hard slider, too. He did a good job today, but then again, that's no excuse."

And that was it for the Cardinals at home in June. They now have nine Interleague games in a row, traveling to Boston, Detroit and finishing in Kansas City.

"How much tougher can it get?" said manager Tony La Russa, brushing off the tough schedule ahead. "[Four] runs in three days is tough."

But the hitting woes have gone on longer than the past three games, longer than Albert Pujols' departure to the disabled list. Since May 21, the Cardinals are batting .251 and are 15-10 over their last 25 games.

When Pujols hit the DL, that only worsened the issue. St. Louis has scored fewer than four runs a game in its past seven games, a number inflated by a 10-0 victory the day after Pujols' injury.

Good teams go through their rough stretches, but with their upcoming schedule, the Cardinals had better figure out something quick on the offensive end. Their next six games come against teams that can score a flurry of runs in no time.

"You're going to have stretches when the offense isn't clicking, but you still have to find ways to win," Ludwick said. "Unfortunately, we didn't do that this series."

The pitching has been there for the Cardinals. Following two superb performances from Joel Pineiro and Braden Looper, Thompson returned to pitch his first game in the Majors since April 22.

Thompson fared well through his five innings of work, giving up only two runs and scattering five hits. In the fourth, facing the heart of the order, Thompson gave up three straight hits to put the Royals up, 2-0.

"We had a couple ground balls that just found their holes and they did some damage that inning," said Thompson, who was told he would be optioned to Triple-A Memphis following the loss. The Cardinals have not announced who they will call up for him.

Jason Isringhausen made his second appearance since rejoining the club. He pitched 2 1/3 innings in relief of Thompson -- the longest Isringhausen has thrown in a game for the Cardinals.

Since recalled, Isringhausen has looked like the Izzy of old, giving up only one hit in 3 1/3 innings.

"All it is, is just getting comfortable again," Isringhausen said. "Seems like the more I throw, the more comfortable I get."

But as well as the pitching has been this year, too many times great outings have been spoiled by a lack of offense -- several of those coming in the last few games. So far, however, the slump is not a cause for concern.

"Yeah, we had a couple of bad days, but it's three games," Ludwick said, citing the Cardinals' two wins over the first-place Phillies earlier in the week. "It's not fun losing, by any means."