ST. LOUIS — Kyle Lohse pitched six spotless innings to earn his 12th win, and the St. Louis Cardinals beat the Milwaukee Brewers 3-0 on Sunday night to complete a three-game sweep.
Daniel Descalso had a season-high three hits for the Cardinals, who have won five of six and 12 of 16. It was their first three-game sweep at home against the Brewers since March 31 to April 3, 2003.
Milwaukee has lost its last nine road games.
Lohse (12-2) allowed four hits and threw 100 pitches while winning his sixth consecutive decision. He struck out six, walked three and lowered his ERA to 2.79.
Edward Mujica, Mitchell Boggs and Jason Motte shut out the Brewers over the final three innings. Motte earned his 24th save in 28 chances.
The Cardinals wore 1982 powder blue replica uniforms to mark the 30th anniversary of their World Series win over Milwaukee. Back then, the Brewers were in the American League.
St. Louis has won 14 of the last 19 regular-season games between the teams. The Cardinals also beat Milwaukee in last year's NL championship series.
Descalso drove in Jon Jay with a two-strike triple off Marco Estrada (0-5) in the second inning following a one-out walk. Allen Craig pushed the lead to 2-0 with a run-scoring double in the seventh. Craig has 56 RBIs in his last 67 games.
David Freese, who had two hits, brought in Carlos Beltran with a single in the eighth. Beltran doubled off the bag at first base.
Estrada is winless in 13 starts this season. He gave up one run and seven hits over six innings.
The Brewers, who have lost 12 of 16, were 2 for 22 with runners in scoring position during the series.
Descalso, who went 3 for 4, also singled in the fifth and seventh.
Milwaukee loaded the bases in the fourth before Lohse struck out Estrada to end the threat. The Brewers put two on in the third, but Lohse got Ryan Braun to pop out.
Milwaukee third baseman Aramis Ramirez went 1 for 4 in his return to the lineup after missing the previous two games with a sore left wrist.