PHOENIX (AP) The New York Mets finally beat the Arizona Diamondbacks and Noah Syndergaard finally got another win.
Syndergaard earned his first victory in seven starts, helping himself with a two-run homer, and the Mets beat Arizona 7-5 on Tuesday night, ending a string of four consecutive losses to the Diamondbacks in the past week.
Kelly Johnson also homered and T.J. Rivera had four hits for New York.
''Every time I've looked up they (the Diamondbacks) are hitting a double,'' Mets manager Terry Collins said. ''It was nice that we hit some doubles tonight for a change.''
Arizona's Mitch Haniger drove in three runs with a triple and double and made some strong throws from the outfield in his major league debut.
''Every swing he took he was right on it, and just exactly as advertised from (Reno manager) Phil Nevin and everybody in the minor leagues,'' Arizona manager Chip Hale said, ''he really knows how to play the game.''
Yasmany Tomas homered for the second straight night for the Diamondbacks.
Jeurys Familia pitched a perfect ninth for his major league-leading 40th save.
Syndergaard (10-7), the losing pitcher in Arizona's 9-0 rout of the Mets in New York last week, went 5 2-3 innings, giving up four runs, two earned, and seven hits with eight strikeouts and two walks. He hadn't won since July 3.
He said he had been working on tweaking his mechanics since that last start.
''These past five days I've spent a lot of time on the mound in between starts trying to get back on track,'' he said. ''... I felt like it was a step in the right direction.''
Collins said the difference was Syndergaard's fastball.
''When he commanded the fastball in the right spots, they didn't take very good swings at it,'' Collins said. ''... I thought he threw the ball much better tonight.''
Braden Shipley, who had thrown seven scoreless innings in that game last week, blanked the Mets for four innings before they erupted for four runs in the fifth, two on Syndergaard's third homer of the season tying a Mets record for a pitcher.
''Noah's dangerous. He's got huge power,'' Collins said. ''Finally he got one and the way the game turned out we needed it.''
Shipley (2-2) gave up seven runs, six earned, and 10 hits in 5-plus innings.
The Diamondbacks led 1-0 after four innings on Tomas' 10th home run in his last 18 games.
T.J. Rivera led off with a single and Alejandro De Aza doubled to put runners at second and third with no outs. Rene Rivera brought the other Rivera home with a sacrifice fly before Syndergaard launched Shipley's 3-2 pitch into the seats in right field.
''It's an awesome feeling,'' Syndergaard said. ''I kind of watched it a little on that one.''
New York ended Shipley's night with three runs in the sixth.
T.J. Rivera made two errors at third base to help Arizona rally with three runs in the sixth, two on Haniger's triple to the right-center gap, his first major league hit.
''Great feeling,'' Haniger said. ''It's what I dreamed about.''
Haniger doubled home a run in the seventh to make it a two-run game.
The Diamondbacks recalled Haniger on Tuesday and optioned OF Socrates Brito to Reno.
Haniger was in left field for his first major league start and made a nice shoestring catch. He was batting .325 with 32 doubles, 24 home runs and 86 RBIs in 119 games with Double-A Mobile and Reno this season. He was acquired in a trade with Milwaukee in 2014.
Mets: OF Yoenis Cespedes (strained right quad) and INF Asdrubal Cabrera (strained left patella tendon) both made rehab appearances with Class-A St. Lucie on Tuesday night. Cabrera was 0 for 3 and played seven innings in left field in the first game of a doubleheader. He said he would play nine innings on Wednesday and hopes to join the Mets in San Francisco. Cabrera is eligible to come off the DL on Friday. Cabrera was 1 for 3 with a double and scored a run in the second game of the doubleheader. He said he planned on playing seven innings on Wednesday.
Mets: New York sends LHP Jonathan Niese (8-6, 5.20 ERA) to the mound in search of the Mets' second straight series win.
Diamondbacks: RHP Archie Bradley (4-8, 4.91) gets the start in the finale of a brief three-game homestand.