Ben Revere opened the game with a single, stole second and scored when Utley's fly ball fell between left fielder Cody Ross and center fielder A.J. Pollock for a single.
Gibson said Ross got a bad break on the ball, thinking it was going deeper.
McCarthy shut the Phillies down the next four innings. In the sixth, Utley led off with a double and scored when shortstop Chris Owings made a nice stop on Marlon Byrd's grounder but threw wildly to third.
Gibson blamed third baseman Martin Prado, saying he didn't get to the bag.
The Diamondbacks had their chances.
Pollock and Owings opened the fourth with singles, but McCarthy bunted into a force play. Martin Prado bounced into a double play that ended the innings.
In the fourth, Burnett struck out the first two batters before hitting Miguel Montero in the left foot. Montero made it to third on Aaron Hill's single but first baseman Ryan Howard caught Ross' sharp grounder to end the threat.
With one out in the third, Owings tripled over the head of Byrd. Burnett helped himself by snagging McCarthy's sharp grounder, and Gerardo Parra flied out.
Parra doubled with two outs in the eighth but Prado grounded out.
Right after entering the game in the ninth, third baseman Freddy Galvis made a diving stop and threw out Paul Goldschmidt from his knees.
NOTES: The Phillies' Cody Asche struck out four times. ... McCarthy's previous career best was 10 strikeouts, accomplished three times. ... Ruiz had the day off after hitting .393 on the trip with seven RBIs in eight games. ... Owings made a diving stab of Utley's line drive to start the fourth inning. ... The Phils open a two-game home series against the New York Mets on Tuesday night. LHP Cole Hamels (0-1, 3.00 ERA) starts for Philadelphia against LHP Jonathon Niese (1-2, 2.45) for New York. ... Arizona's homestand continues with a three-game series against Colorado, Wade Miley (2-2, 4.50) pitches for the Diamondbacks vs. Franklin Morales (2-1, 3.86) Monday. ... Goldschmidt was 0 for 4 in the game, 1 for 11 in the series.