The Nationals fell to 20-19 on the season, now five games behind Philadelphia in the National League East standings. Washington will conclude the road trip on Tuesday night in St. Louis, with lefty John Lannan facing former Cy Young Award winner Chris Carpenter.
"As long as guys are hitting the ball on the barrel, you don't have much control over that," manager Jim Riggleman said. "Anything you hit in the ballpark, you hit it right at somebody or you're hitting into some bad luck, there's nothing you can do about that. Good hitters are going to make more hard outs than they get soft hits and right now we're going through a phase like that."
The Cardinals (22-17) scored four runs with two outs in the first inning against Nats starter Craig Stammen (1-2), including a two-run triple by third baseman David Freese and RBI singles by center fielder Colby Rasmus and catcher Yadier Molina.
The rally started with a two-out walk to left fielder Matt Holliday.
"I kick myself for having a two-out walk," Stammen said. "Once that happens then you have to face Albert [Pujols], and he's the best hitter in the league. I left a couple pitches up. A bloop there and a broken bat there and they've got four runs."
Stammen rebounded to throw five scoreless innings after the first to give the Nats a chance, but the offense couldn't get enough going against Cardinals starter Kyle Lohse (1-3) and four relievers.
"He got settled in and pitched really good," Riggleman said of Stammen. "He really made a lot of great pitches and gave us a chance. He kept us in there. Their guy did a good job, too. Lohse did a nice job. He kind of kept us off."
The Nationals got two runs back in the fifth. First baseman Adam Kennedy, shortstop Ian Desmond and center fielder Roger Bernadina collected three consecutive singles. Kennedy scored when Skip Schumaker mishandled Bernadina's ground ball and threw it away. Desmond scored on a groundout by right fielder Willie Harris.
Washington had the first two batters of the seventh inning, Kennedy and Desmond, reach base against Lohse and advance into scoring position with one out. But the Nationals couldn't get a run across as pinch-hitter Adam Dunn, who was held out of the starting lineup for the second straight game with flu-like symptoms, struck out against reliever Jason Motte for the third out.
"We just weren't going to give him a cookie," Cardinals manager Tony La Russa said. "You're just going to pitch him tough, and Motte's got some good stuff to try that with. You're throwing 90-plus like that, it's tough to center, but if there's one guy who can, they had the right guy at bat."
Relief pitcher Drew Storen made his Major League debut in the seventh inning. After inheriting a runner on first, he got Felipe Lopez to hit a foul ball out to left field and hit Ryan Ludwick with an inside fastball. He then struck out Matt Holliday to end the inning.
"I told myself I was going to challenge him," Storen said. "That was a big thing for me, so I was happy with how it turned out, obviously."
The Cardinals tacked on two runs in the eighth inning off Matt Capps.
Albert Pujols and Rasmus opened the inning with singles. After a sacrifice bunt, Pujols scored on a groundout by Molina and Rasmus scored on a single by second baseman Skip Schumaker.
Desmond, the 24-year-old rookie shortstop, finished with a career-high-tying four hits after a ninth-inning single against Cardinals closer Ryan Franklin.