Martin Prado went 4 for 5 with a three-run home run and Paul Goldschmidt added a three-run shot and the Arizona Diamondbacks routed the Pittsburgh Pirates 15-5 on Saturday.

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.

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 had gone 2 for 29 in his previous eight games.

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.

The Diamondbacks won for the fourth time in five games.

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.