"It was just an all-around good game for us as a team," said starter Ian Kennedy, who earned a win for the fourth consecutive outing.
Kennedy allowed just two runs over six innings. The right-hander, who walked two and struck out just one, improved to 10-8 on the season and lowered his ERA to 4.15.
The bullpen behind him was spotless, as Takashi Saito threw a scoreless seventh and David Hernandez followed suit in the eighth. That set the stage for closer J.J. Putz, who converted his 11th straight save.
Upton gave Arizona (55-51) the lead in the second inning, smacking his 100th career home run deep into the left-field seats. When his brother, B.J. Upton, homered for the Tampa Bay Rays less than an hour later, the Uptons became the first pair of brothers to hit their 100th career home runs on the same day.
"It's a cool night for my family," Upton said.
"J-Up's played very well for us," Gibson said. "I think he's much more of a complete ballplayer this year. People seem to focus on the fact that he had 32 home runs last year and he has nine now, but he's played very good for us. He's a great team contributor. He's had a great attitude, and most of all, he's been an outstanding teammate."
The D-backs increased their lead to 3-0 in the fourth. Aaron Hill led off with a double, advanced to third on a Jason Kubel flyout and scored on a deep sacrifice fly from Paul Goldschmidt. Upton then started a two-out rally with a single and later scored on an RBI base knock from Chris Johnson.
Chase Utley hit a solo homer in the fourth inning, and the Phillies (47-59) got another run back on a sacrifice fly from the newly acquired Nate Schierholtz in the fifth. Kennedy avoided further trouble when he got Utley to ground out on a nine-pitch at-bat with two runners on base.
Kennedy said the humidity was affecting him in the fifth. Though he said he felt fine throwing his fastball and cutter, he was sweating so much that he had trouble gripping his changeup.
"When [pitching coach Charles Nagy] came out there, I just wanted to ask him if he brought an extra jersey out so I could switch it out," Kennedy joked.
The D-backs caught a bit of a break in the sixth. With Phillies center fielder John Mayberry Jr. on second base and two outs, third baseman Kevin Frandsen singled to right field. Upton, who had moved in with two strikes, fielded it cleanly and made a great throw home to Miguel Montero to get Mayberry.
"The defense was great behind me," Kennedy said with a smile. "I can't get double plays on the ground, but I got two in the air."
Mayberry was called out on the play, but replays showed that he slid into home before the tag was applied. Phillies manager Charlie Manuel briefly came out to argue the call with home-plate umpire Jim Wolf.
"The guy was safe," Manuel said. "Sometimes, where I'm standing, it's kind of hard to see, but I saw it real good. I think Wolfie knew he missed it. That's why I didn't argue long."
But sometimes breaks like that are a sign of how things are going for a team. While the Phillies have struggled this season, the D-backs are playing great baseball and hope to continue their undefeated road trip over the next five days.
"This is a big road trip for us," Kennedy said. "To do this against these teams, hopefully we can take it into [Saturday]. We're playing really good baseball as a team."