Allen Craig drove in the go-ahead run with a two-out double in the seventh inning and the St. Louis Cardinals completed a three-game sweep of Arizona by beating the Diamondbacks 4-2 Thursday. The sweep was the first of a three-game series this season for St. Louis, which has won seven of eight. Shane Robinson had a two-run double as part of a three-hit night. Pat Neshek (1-0) pitched scoreless seventh and eighth innings to pick up his first win as a Cardinal. Trevor Rosenthal retired Arizona in order in the ninth for his 14th save in 16 chances.