ST. LOUIS -- Kyle Lohse received a well-deserved, ice-water shower from his St. Louis teammates after picking up his 100th career win Sunday.
Lohse (12-8) gave up four runs -- two earned -- in the Cardinals' 7-4 victory over the Pittsburgh Pirates. He allowed six hits, struck out four and walked two.
Lohse became the 36th active pitcher to reach the 100-win mark. He has 106 losses in his nine-year career.
"I've been around for a while and it's nice to get a nice round number like that," Lohse said. "To share it with my teammates is pretty cool."
Lohse also put the Cardinals ahead to stay, getting an infield single in the fourth and scoring on Allen Craig's sacrifice fly for a 5-4 lead.
Pittsburgh has lost four of its last six. The Pirates fell a season-high 18 games behind NL Central-leading Milwaukee.
Lohse, the team leader in wins this season, gave up a run in the first inning and three more in the second, with an error by shortstop Ryan Theriot contributing to the problems. Lohse retired his last eight batters and left after throwing 99 pitches.
"I think it was one of the more impressive wins he's had all year," St. Louis manager Tony La Russa said. "He kept battling. He really kept his competitiveness together."
Lohse gave up four runs and five hits to the first nine batters he faced. He then made a complete about-face, surrendering just one hit and one walk the rest of the way.
"He made a couple of adjustments," St. Louis catcher Gerald Laird said. "He slowed down a little bit and really turned it around. The first two innings and then the last three, total opposites."
Jason Motte picked up his first save of the season with a perfect ninth.
The Cardinals completed a 3-4 homestand. They got 11 hits without three-time NL MVP Albert Pujols, who was given a rare day off.
Jeff Karstens (9-8) gave up five earned runs in 3 2/3 innings.
"I didn't make the pitches, that's what it comes down to," Karstens said. "Our offense gave me four runs. I should have made it work."
Pittsburgh manager Clint Hurdle said Karstens never found his rhythm.
"For whatever reason, he wasn't as sharp as he's been," Hurdle said. "It just wasn't there for him today."
The Cardinals scored three runs in the first to take a 3-1 lead. Five of the first seven hitters reached base.
Theriot's RBI single tied it in the third, and Lohse scored in the fourth.
David Freese brought in Holliday with a run-scoring single in the seventh to push the lead to 6-4.
"This was one of our better wins," La Russa said. "A tough start, but we hung in there."
On July 26, the Cardinals were in first place by a half-game. They have gone 15-16 since. ... Harrison is 11 for 27 in his last eight games. ... St. Louis starters gave up at least three runs in one inning in all four games of the series. ... The Pirates are 31-34 on the road after a league-worst 17-64 last season. ... The Pirates open a three-game series at Houston on Monday. Ross Ohlendorf (0-1, 7.24) will face Houston lefty Wandy Rodriguez (9-9, 3.41). ... The Cardinals travel to Milwaukee to start a three-game set Tuesday.