PITTSBURGH - The Diamondbacks have a lot of ground to make up if they are going to get to the postseason.
Martin Prado hopes that Saturday's 20-hit outburst was a step in the right direction.
Prado went 4 for 5 with a three-run home run Saturday, Paul Goldschmidt added a three-run shot, and the Diamondbacks routed the Pirates 15-5.
The Diamondbacks won for the fourth time in five games. They entered the day 8 1/2 games behind the Los Angeles Dodgers in the NL West and six games behind the Cincinnati Reds for the second wild card.
"I feel like this is the beginning of what we should do from now on," Prado said. "I feel like everybody contributed. We're hoping to keep having this offense all the way through the end of the season.
"Being realistic, it's not going to be like this every day, but I liked the way we prepared for the game, then everybody had good at-bats."
Prado's 11th homer of the season capped a six-run third inning against All-Star Jeff Locke and put the Diamondbacks ahead 8-0. Prado has driven in 13 runs in his past 10 games.
"It's just the way baseball goes," Prado said of his RBI surge. "I'm on a hot streak right now. You might go a month and not get an RBI. I just want to ride the streak as long as I can."
Goldschmidt's 30th homer came in the ninth and tied him with Pittsburgh's Pedro Alvarez for the National League lead. Alvarez hit his 30th earlier in the game.
Goldschmidt and Didi Gregorius each had three of the Diamondbacks' 20 hits.
Gregorius, a rookie shortstop, had gone 2 for 29 in his previous eight games.
"A lot of times you can tell how a guy is going to do in the game by his batting practice," Arizona manager Kirk Gibson said. "Didi didn't really have a set pre-game routine until today. He's finally found a routine that works, and you saw the results. I think it's going to make a big difference for him."
Trevor Cahill (4-10) earned his first win since May 17. He went five innings and allowed four runs and seven hits. He was activated from the disabled list before the game. He had been out since July 1 with a bruised right hip.
A.J. Pollock, Aaron Hill, Wil Nieves and Gerardo Parra had two hits each and Nieves had three RBIs, including a two-run double in the first inning to give Arizona an early lead.
After going 0-6 with a 7.91 ERA in his previous eight starts, Cahill struck out four and walked one.
"It felt like my debut all over again," Cahill said. "It was a weird feeling, like I hadn't done this before. I'll take the win, enjoy the great offensive support and then work on some things so I'm better in my next start."
Alvarez hit a three-run home run, and Starling Marte added a solo shot for NL Central-leading Pittsburgh in the third inning, enabling the Pirates to cut the lead to 8-4.
Andrew McCutchen had three hits, and Neil Walker and Jose Tabata had two each. McCutchen has had multiple hits in 10 of his past 14 games.
• What: D-backs at Pirates
• When: 10:35 a.m.
• TV; radio: FSAZ; 1490-AM, 104.9-FM