PHOENIX (AP) -- Rubby De La Rosa's reputation as a slow worker on the mound could be going away after Thursday night's performance.
The Diamondbacks' right-hander picked up the pace between pitches and tossed a gem, striking out a career-high 10 and allowing two hits over seven innings as Arizona beat the St. Louis Cardinals 3-0.
Chris Herrmann and Brandon Drury homered, and the Diamondbacks earned a split of the four-game series.
De La Rosa (3-3) had been shaky this year and was sent to the bullpen to make up for innings lost from short starts, but he turned in his second straight strong start.
"We were on the same page pretty much every pitch. Everything worked today," De La Rosa said of his connection with Herrmann. "I feel under control. Pretty much everything was down in the zone. Worked fast, gave a chance for my team to get back to the dugout."
Herrmann's two-run home run - after Drury's blooper fell between center fielder Stephen Piscotty and shortstop Aledmys Diaz for a hustle double - gave the Diamondbacks a 2-0 lead in the second inning. Drury lined a 2-1 pitch from Michael Wacha (2-1) into the seats in left field for a solo shot in the fourth.
"That's just kind of the style we play," Drury said. "When you're standing on second instead of first it just looks good. It looks like you're playing to win."
Drury slugged his second home run in two days, and the utility player is making the Diamondbacks find more playing time for him. He's 15 for 39 (.385) over his last 10 games.
"He kind of forces his way in the lineup. So we're going to have to find somewhere tomorrow and just keep running with it, because he's a darn good player," manager Chip Hale said.
Wacha (2-1) lasted seven innings and pitched effectively except for the homers and a wild pitch. He struck out nine with two walks (one intentional) and allowed three runs and five hits.
The home runs were the first two he allowed this season.
"The plan was to really try to work down in the zone because of the ballpark we were playing in. The ball can fly out of here," Wacha said. "It's a crazy ballpark, and a couple of swings can beat you."
The Cardinals didn't get a runner past second base against De La Rosa, who was lifted in the bottom of the seventh for pinch-hitter Yasmany Tomas. Tomas was up with runners on second and third and two outs after Wacha's wild pitch, but he struck him out looking.
"That was his best stuff. You could see that right from the start. Just had the great fastball and could be overpowering at times," Cardinals manager Mike Matheny said of Wacha.
De La Rosa's pace helped make for a game that lasted only 2 hours and 25 minutes.
"It's kind of just getting the ball and putting the sign down and he trusts my sign and just fires the ball to the plate," Herrmann said.
Daniel Hudson and Brad Ziegler each threw a scoreless inning, with Ziegler earning his fifth save. Jean Segura stole his 100th career base in the eighth inning.
Cardinals catcher Yadier Molina extended his hitting streak to 10 games with a second-inning single. The Cardinals' two hits were their fewest in a game since last August.
The Diamondbacks, after sending reliever Dominic Leone to Triple-A Reno following Wednesday night's game, recalled right-handed reliever Jake Barrett. Barrett opened the season in the majors before being sent to Reno, where he appeared in three games.
Only two games separate the top four teams in the NL West standings and Arizona is a half-game out of first place. Hale was asked if it's an indication of how the division race will go this season. "Somebody's going to go on a run and we're going to get hot and take off, and that's usually what happens," Hale said. "You feel good about being around .500, but then all of a sudden you look up and somebody reels off 10 in a row. We'd like to be that team."
Cardinals: OF Jeremy Hazelbaker wasn't in Thursday's starting lineup but is fine after a trainer checked on him in the middle of an at-bat on Wednesday, Matheny said. Hazelbaker paused and stepped out of the batter's box, which brought out the trainer and Matheny.
Diamondbacks: Reliever Josh Collmenter pitched two innings, allowing three runs and four hits with four strikeouts in an extended spring training game Thursday. Collmenter is on the 15-day DL with right shoulder inflammation.
Cardinals: Mike Leake (0-2) is set for his fifth start of the season when he goes against the Washington Nationals. Leake has allowed four or more runs in each of his four starts this season and is 3-3 in nine career starts against Washington.
Diamondbacks: Robbie Ray will make his fourth start of the season when he takes the ball Friday against the Colorado Rockies. Ray has yielded two or fewer runs in three of his starts. He made his Diamondbacks debut on May 6, 2015, against Colorado and held them to a run and five hits in six innings.