Zack Greinke won his seventh straight start, pitching three-hit ball for eight innings to lead the Arizona Diamondbacks over the Philadelphia Phillies 4-1 on Saturday.

Paul Goldschmidt, Jake Lamb and Nick Ahmed hit home runs to back Greinke (10-3). Arizona has hit nine homers in two consecutive wins over Philadelphia.

Odubel Herrera homered for the Phillies, who have lost five in a row and 22 of 28.

Greinke continued to display why the Diamondbacks signed him to a six-year, $206.5 million deal in the offseason. After a slow start, the three-time All-Star and former Cy Young winner has a 1.90 ERA during his winning streak.

Greinke struck out six and walked one. Brad Ziegler closed for his 14th save of the season and 42nd straight dating to May 2015.

Jerad Eickhoff (4-9) allowed three runs on nine hits in 5 2/3 innings.

Sign up for the Newsletter

Get the best of delivered to your inbox every day.

(Copyright 2016 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed)