ST. LOUIS -- After returning from Triple-A Memphis a day earlier, Shane Robinson didn't take long to make his presence felt with the big club.
Robinson was given a start and made the most of it by going 3 for 4 with two RBIs and a run scored and the St. Louis Cardinals completed a three-game sweep of Arizona by beating the Diamondbacks 4-2 Thursday night.
"It was a good feeling to be able to get in there and help out the club and get a win tonight," Robinson said. "I'm just feeling blessed to be up here."
Allen Craig drove in the go-ahead run with a two-out double in the seventh inning. Craig was 2 for 4 and also scored a run.
The sweep was the first of a three-game series this season for St. Louis, which has won seven of eight.
Pat Neshek (1-0) pitched scoreless seventh and eighth innings to pick up his first win as a Cardinal.
"You try to throw strikes and keep the game within reach and maybe our hitters will score," Neshek said. "Tonight, they did."
Trevor Rosenthal retired Arizona in order in the ninth for his 14th save in 16 chances.
Arizona's Paul Goldschmidt had an RBI single and Aaron Hill drove in a run with a sacrifice fly. Diamondbacks starter Wade Miley (3-5) lasted 6 2/3 innings and allowed three runs and seven hits and four walks with three strikeouts.
Miley seemed poised to get through seven innings as he retired Matt Carpenter and Peter Bourjos on groundouts to start that inning. But he walked Matt Holiday, and Craig hit his next pitch into the gap in right-center to score Holliday and give St. Louis a 3-2 lead.
"He was trying to hit the ball the other way in that situation and get back on track," Miley said of Craig. "I make a better pitch and it's a different situation." Matt Carpenter gave the Cardinals some insurance with a two-out RBI single off Arizona reliever Joe Thatcher in the eighth.
Arizona manager Kirk Gibson credited the Cardinals for their ability to extend innings.
"They scored two-out runs on us this whole series," Gibson said. "They're very good at that."
The Diamondbacks jumped on St. Louis starter Lance Lynn early. Gerardo Parra led off the game with a single to right and went to second on a walk to Martin Prado. Goldschmidt singled to right to score Parra and move Prado to third. Hill then made Arizona's first out, but it was a productive one as his sacrifice fly to right made it 2-0.
But those were all the runs that Lynn allowed. He lasted six innings and allowed seven hits and a walk while striking out six.
"I stopped throwing the ball down the middle," Lynn said. "I left a few balls up in the first. I was able to regroup."
St. Louis scored twice in the sixth to tie it at 2-2.
With one out, Craig reached on an infield single to second.
One out later, Craig moved to third on Jhonny Peralta's double down the line in left. Robinson then scored both of them when he followed Peralta with a double to the gap in left-center to tie it 2-2.
"My swing feels pretty good right now," Robinson said. "I had a chance to work on it down there (at Memphis) I think it helped getting in right away."
Notes: Holliday has reached base safely in all 21 home games. ... Chase Anderson (2-0, 5.06 ERA) takes on Bartolo Colon (3-5) when the Diamondbacks open a three-game series at the New York Mets on Friday. ... Shelby Miller (6-2) will seek to win his seventh straight decision when he opposes the Reds' Homer Bailey in the opener of a three-game series in Cincinnati on Friday. ... Goldschmidt has driven in 17 runs in his past 21 games.