Trailing 2-0 entering the fourth inning, the Diamondbacks went deep four times against Dave Bush.
Adam LaRoche started it off with his 19th home run of the season into the Diamondbacks' bullpen.
Miguel Montero followed by hitting a shot into the second deck in right field, his sixth. Mark Reynolds was next with his 26th of the season to left, and Stephen Drew capped the run with his seventh of the season to right.
Chris Young almost made it five home runs in the inning as he flied out to deep center for the final out.
Bush is the first pitcher in the majors to give up four straight home runs since the New York Yankees' Chase Wright did it against the Boston Red Sox on April 22, 2007. Wright pitches for the Brewer's Triple-A Nashville team.
The four straight home runs was the first time it happened in Diamondbacks history. Arizona is the seventh team in major league history to hit four straight homers.