ST. LOUIS -- Jason Marquis was ready to pitch as long as he needed to go to snap his personal two-game losing streak.
"I kept the pitches down in the zone when I needed to. And I'm just glad to get back on track," Marquis said.
"I kept it simple. I went after hitters with my sinker, early and often, and I got good results."
Scott Rolen and Jim Edmonds also homered for the second straight game for the Cardinals, who had lost nine of their last 10. Pujols went 3-for-5 with four RBI.
"It's part of the game," Pujols said of the Cardinals' recent problems. "I would say it's better to struggle right now than later on, because your body, later on, wears out."
St. Louis grabbed a one-game lead over the Reds for first place in the NL Central with the win. Cleveland beat Cincinnati 6-3 Sunday.
Marquis (10-6) had dropped his previous two starts. He allowed four runs and nine hits, struck out five and walked one against Kansas City.
Marquis threw 112 pitches in 95-degree heat and gave a lift to the Cardinals' beleaguered bullpen, which had lost the last two games in extra innings.
"That doesn't enter your mind you go out there pitching to win," Marquis said about preserving the bullpen. "If that means going five or six innings doing your job, that's what it means. I tried to go as long as I could and tried to get guys out."
Mike Wood (3-4) lost his fourth straight start. He lasted 4 2/3 innings and gave up eight runs and seven hits. The Royals completed their road trip with a 3-3 record and have won seven of their last 11.
"I just didn't have it, I pitched bad," said Wood, who struck out four and walked four. "I left the ball up. I didn't give us a chance in the third inning."
The Cardinals scored six runs in the third with the help of a hit batter and three walks. With one out, David Eckstein, who had been 0-for-9, singled and John Rodriguez walked. Pujols then hit a 1-1 pitch for his 27th homer to make it 3-1.
Wood hit Rolen with a pitch and walked Edmonds and Scott Spiezio ahead of Yadier Molina's two-run single. One batter later, Marquis singled in Spiezio.
Rolen and Edmonds hit back-to-back home runs in the fifth to make it 8-1.
After allowing one run and two hits in the first inning, Marquis scattered four hits over the next five innings with no walks and three strikeouts.
The Royals scored three runs in the eighth. Tony Graffanino singled in a run and pinch-hitter Reggie Sanders drove in two with a base hit.
Pujols singled in a run in the eighth.
David DeJesus went 3-for-5 for Kansas City. He has a nine-game hitting streak (21-for-42, .500). ... Rolen's home run, measured at 446 feet, was the longest by a Cardinal in the new ballpark. Cleveland's Todd Hollandsworth also hit a home run this season measured at 446 feet. ... Pujols tied Ray Lankford for third place on the Cardinals' career home run list with 228.