Updated

Cubs shortstop Starlin Castro returned from a hamstring injury Saturday and played his first spring training game since March 2 in Chicago's 9-8 victory over the Arizona Diamondbacks.

Castro went 0 for 2 with a walk and looked fine running out a grounder in the first inning. The game was the exhibition finale for both clubs before their season openers Monday.

Both starting pitchers were effective. Jason Hammel shut out the Diamondbacks on two hits over four innings. He struck out five.

Bronson Arroyo went 4 2-3 innings for Arizona and allowed two runs on six hits. He struck out two and walked one.

A throwing error by Diamondbacks left fielder Mark Trumbo led to an RBI single from Darwin Barney in the second. The Cubs then scored four runs in the sixth against setup man Brad Ziegler. Luis Valbuena had a sacrifice fly and minor leaguer Arismendy Alcantara hit a two-run homer.

Ziegler allowed four runs on three hits and two walks in one-third of an inning.

Cliff Pennington and Henry Blanco hit RBI singles in the sixth off Cubs reliever Jonathan Sanchez.

Ryan Kalish ended a successful bid to make Chicago's roster with a 3-for-3 afternoon.

Pennington had two hits and two RBIs after replacing Aaron Hill at second base. Ex-Cub Tony Campana went 3 for 3 and scored twice.