Updated

Carlos Beltran provided all the offense the Cardinals needed on Tuesday, crushing a two-run homer and a grand slam in a 6-1 win over the Arizona Diamondbacks in the middle tilt of a three-game set at Chase Field.

Matt Holliday and Skip Schumaker had two hits apiece and Jon Jay added a triple for the Cardinals, who have won three straight.

Jake Westbrook (4-2) was superb on the mound as he gave up just four hits and two walks while whiffing eight in seven scoreless frames. Kyle McClellan tossed a perfect eighth and Mitchell Boggs gave up a run in the ninth, but closed it out to secure the win for the Cards.

Miguel Montero knocked in the only run of the game for the D-Backs with a double, while Aaron Hill added three hits.

Ian Kennedy (3-2) allowed six runs on six hits and a pair of walks while striking out six over seven innings for Arizona, which has lost four straight and six of its last seven.