SEATTLE — One timely hit by Seattle’s Jarrod Dyson, combined with a defensive lapse by the New York Mets, was enough to end Jacob deGrom’s winning streak.

Yovani Gallardo took a shutout into the sixth inning, Dyson delivered a key two-run single and the Mariners beat the Mets 3-2 on Saturday, ending deGrom’s eight-start winning streak.

“We didn’t tear the cover off the ball by any means, but we got key hits in key spots and continued to grind it out,” Seattle manager Scott Servais said.

Gallardo (5-7), banished to the bullpen in mid-June, allowed one run and five hits in 5 2/3 innings in his second outing since returning to the rotation. He struck out two and walked two, flashing back to the form when he won 72 games over five seasons with Milwaukee.

Edwin Diaz pitched the ninth for his 19th save, despite allowing an RBI single by Michael Conforto.

“I just stayed away from the extra-base hits,” said Gallardo, who gave up three solo homers to the Yankees in his last start. “They got some base hit, singles and what not, but the key thing is just try and limit those extra base hits. It’s something to build off.”

DeGrom (12-4), bidding to become the first Mets pitcher to win nine consecutive starts in a single season, allowed three runs and five hits in six innings while throwing 109 pitches. He struck out 10 and walked one in his first loss since June 6, when he gave up eight runs and 10 hits in four innings of a 10-8 defeat against Texas.

De Grom gave up a bases-loaded single to Dyson in the second and an unearned run in the third.

Dyson’s bases-loaded single capped a wild second inning. Nelson Cruz scorched a single that glanced off deGroom’s foot and caromed into right field. Kyle Seager followed with a double to right-center. After Danny Valencia struck out, Mitch Haniger was hit in the face by a 95 mph fastball from deGrom. Haniger left the field under his own power with what the Mariners later announced as a mouth contusion.

Guillermo Heredia ran for Haniger to load the bases. Dyson then blooped a singled into shallow right center. DeGrom escaped by striking out Mike Zunino and Jean Segura.

“I got myself in trouble in the second inning,” deGromsaid. “My stuff was good, I just wasn’t able to get out of that bases-loaded jam.”

DeGrom said he was rattled after hitting Haniger.

“Yeah, definitely,” he said. “You never want to hit anybody in the face. It’s not easy to pitch after you do that. I was trying to go inside there and it just sailed on him. I definitely feel bad about it. It was not easy to stay out there and re-concentrate.”

A two-base throwing error by second baseman Neil Walker led to the unearned run in the third. Ben Gamel singled to open, extending his hitting streak to 15 games. Robinson Cano bounced to Walker, whose throw to force Gamel at second sailed into left field. Gamel continued to third and Cano to second. Gamel scored on Cruz’s sacrifice fly to left. Left fielder Michael Conforto prevented at least one more run with a sensational, fully extended, diving grab going back on Seager’s drive into the gap in left-center for the second out.

The Mets capitalized on wildness by reliever Tony Zych to pull to 3-1 in the sixth. Gallardo exited after consecutive two-out singles by Yoenis Cespedes and Walker. Zych walked Curtis Granderson on four pitches and then walked Wilmer Flores to force in a run. Jose Reyes flied to center to leave the bases loaded.

Conforto also prevented a run in the eighth, throwing Seager out at home when he tried to score from second on Valencia’s single.

“We had enough offensively,” Servais said. “Going into it, you kind of know it’s going to be a low-scoring game and you’ve got to outpitch them. And, we outpitched them today.”

HANIGER LIKELY HEADED TO DL

Haniger will need some time to heal and likely will be placed on the DL, Servais said.

“Obviously when something like that happens, it’s scary,” Servais said. He’s got no fractures, his teeth are OK, and he’s got a pretty severe laceration on his upper lip. He’s getting some work done on that now. It could have been a lot worse.”

RAMOS NOT YET WITH METS

Reliever AJ Ramos, acquired Friday in a trade with Miami, had not yet joined the Mets and was not listed on the active roster for Saturday’s game.

TRAINER’S ROOM

Mariners: RHP Hisashi Iwakuma, transferred from the 10-day DL to the 60-day DL (right shoulder inflammation) on July 24, continues to improve, but there is no timetable for his return. “He’s about to 140, 150-feet, working his way toward the bullpen.” Mariners manager Scott Servais said. “If everything went right, we could possibly get him back in the mix.” Iwakuma was 0-2 with a 4.15 ERA in six early season starts. He has not pitched since May 3.

UP NEXT

Mets: RHP Seth Lugo (5-2, 4:10) starts the Sunday afternoon series finale. In his last three starts, he is 2-0 and has pitched at least six innings. Lugo is 4-1 on the road this season. He has never faced the Mariners.

Mariners: LHP James Paxton (10-3, 2.84) is looking for his sixth victory in July. He is 5-0 with a 1.62 ERA in five starts this month. His 10 victories are a career high, despite spending most of May on the DL (left forearm strain). In his last start, a 4-0 victory over Boston, he allowed four hits over seven innings with 10 strikeouts.