John Lackey is pitching like an ace for a team that lost its top starter a month ago.
Lackey worked seven scoreless innings and the Cardinals got just enough against Mike Bolsinger to beat the Los Angeles Dodgers 3-0 for their fifth straight victory on Friday night.
"We're talking an elite-style pitcher for a long period of time," manager Mike Matheny said of Lackey. "As far as what we saw at the end of last year and how well he's throwing right now, it's just much better stuff."
The Cardinals ended Bolsinger's streak of 18 2/3 consecutive scoreless innings on Randal Grichuk's bases-loaded double play ball in the first. Jhonny Peralta doubled twice with an RBI and Grichuk, starting in left field in place of ailing Matt Holliday, batted cleanup for the first time and had an RBI double in the third.
"I got away with a lot of stuff that I shouldn't have," Bolsinger said.
Jimmy Rollins and Justin Turner had two hits apiece for the Dodgers, who have been shut out four straight times on the road -- also getting outscored 10-0 in a three-game sweep at San Francisco May 19-21.
"I don't know about a rut," manager Don Mattingly said. "I just look at this one and we didn't do enough to win."
Lackey (3-3) struck out nine and allowed five hits, and the Dodgers got their lone runner in scoring position his final inning. Adrian Gonzalez and Justin Turner singled to open the seventh but Lackey retired the next three in order with two strikeouts.
"They've got a good lineup, you've got to keep grinding and you can't take anything for granted," Lackey said. "I just had to make some pitches to get out of that."
Lackey is 6-3 with a 1.76 ERA against the Dodgers and beat them in Game 3 of the NL division series last fall. He's stepped up for a team that's a major league-best 32-16 including 19-5 at home without two-time 20-game winner Adam Wainwright.
Mattingly was ejected for the third time this season for arguing a called third strike with plate umpire Mike Winters on Andre Ethier for the first out of the seventh inning. Catcher A.J. Ellis struck out all three at-bats and was ejected for the first time of his career for arguing ball four to Matt Carpenter in the bottom half with J.P. Howell pitching.
Ellis said Winters criticized him for not being in position behind the plate.
"I had a rough game," Ellis said. "Mike had a rough game. It reached a boiling point and some things were said that pushed me over the edge.
"I just thought the borderline pitches were going every which direction."
Bolsinger (3-1) gave up two runs on seven hits in six innings. He had won his previous three starts and allowed just one base runner in eight scoreless innings his last time out against San Diego, giving up a leadoff hit and then retiring 23 in a row.
Trevor Rosenthal earned his 14th save in 15 chances for St. Louis, which entered with a major league-best 2.76 ERA.
Dodgers: Mattingly said C Yasmani Grandal would be activated from the 7-day disabled list from a concussion.
Cardinals: Holliday missed the game and was sent home due to flu-like symptoms but Matheny thinks he could play Saturday. Jon Jay, activated from the 15-day DL before the game, pinch hit in the eighth and fouled off nine pitches before singling off Paco Rodriguez.
The Dodgers' Carlos Frias (3-2, 5.34 ERA) surrendered a career-high 10 runs on 12 hits in four innings in a loss at San Diego on Sunday. Michael Wacha (7-0, 1.87) is tied for the NL lead in wins, and his ERA is among the league leaders.
The attendance of 44,223 attracted by a Whitey Herzog garden gnome giveaway was the Cardinals' eighth sellout. The Hall of Fame manager waved to the crowd and held a gnome aloft during a break.
Link to box score: St. Louis (32-16) 3, Dodgers (28-19) 0