Pavin Smith and Ketel Marte each added an RBI single for the Diamondbacks, who have won seven of nine
Arizona starter Merrill Kelly (5-3) allowed three runs (two earned) and three hits in five innings, with two walks and four strikeouts.
Tucupita Marcano hit a two-run double for the Pirates
Pittsburgh starter Roansy Contreras gave up three runs and three hits in five innings, with three walks and three strikeouts.
Dauri Moreta (1-1) gave up a run in one-third of an inning and took the loss.
With two outs in the first, Carroll homered to right for a 1-0 Diamondbacks lead. It was his seventh home run on the season
Pittsburgh tied it in the second without a hit. Connor Joe walked with two outs and went to second on Kelly's errant pickoff attempt. Joe later scored on a wild pitch.
In the third, Jose Herrera doubled, went to third on a wild pitch and came home on another Contreras wild pitch to make it 2-1.
In the fifth, Geraldo Perdomo walked and was bunted to second by Herrera. Smith drove in Perdomo with a base hit for a 3-1 Diamondbacks ead
With one out in the bottom of the fifth, Joe singled to deep short for Pittsburgh's first hit. He went to third on Rodolfo Castro's single, and both scored on Marcano's double to tie the score at 3.
Two throwing errors helped Arizona move back in front 4-3 in the sixth. With one out, Walker landed at second on Ke'Bryan Hayes' error at third. Walker scored on Lourdes Guerriel Jr.'s infield single coupled with reliever Moreta's throwing error.
In the seventh, Perdomo singled, went to second on Rob Zastryzny's wild pitch and was bunted to third by Herrera. An out later, Robert Stephenson relieved Zastryzny and gave up an RBI single to Marte, a walk to Carroll and a two-run double to Walker to push it to 7-3.
Walker added an RBI single in the ninth.
--Field Level Media