MINNEAPOLIS — Former Ashland High and Oregon State standout pitcher Sam Gaviglio survived a rough two-inning stretch to earn the win as the Seattle Mariners beat the Minnesota Twins, 6-4, on Wednesday.

In 5 1/3 innings, the starter Gaviglio (3-1) allowed five hits and four runs — including three home runs in a two-inning stretch — and struck out five.

The Twins chipped away at an early 5-0 deficit, as Eduardo Escobar and Byron Buxton hit solo homers in the fifth inning, then Miguel Sano added a two-run homer in the sixth after the Mariners scored an unearned run in the top of the inning. Sano's 16th home run knocked out Gaviglio and gave way to a bullpen that had given up 11 runs the night before.

It was a different story on Wednesday as four Seattle relievers combined for 3 2/3 scoreless innings, ending with a four-out save from Eddie Diaz, who forced a flyout from Brian Dozier with two outs and two men on in the bottom of the ninth.

"Big for us," Diaz said.

Meanwhile, Mike Zunino may wish he could face the Twins every game.

The Seattle catcher hit a three-run homer in the third inning, his fourth home run against Minnesota since June 7.

Zunino's home run off the facing of the upper deck gave the Mariners their 5-0 lead and continued the tear the 26-year-old has been on since being recalled from the minors in late May.

Since May 29, Zunino is hitting .396 with five home runs, including a walk-off against the Twins at Safeco Field a week ago and Wednesday night's third-inning blast.

"Zunino hit that ball about as hard as he could hit it," Seattle manager Scott Servais said.

After toying with his swing in the minor leagues, Zunino has returned with a new approach and has reestablished himself as the everyday catcher.

"This is something that I only started about a month and a half ago," Zunino said, "so I'm still trying to fine tune everything — keep everything ironed out."

Mitch Haniger hit a two-run homer in the first inning off Ervin Santana, who gave up a season-high nine hits just one game removed from a complete-game shutout in San Francisco. Santana (8-4) lasted five innings, his second-shortest start of the year. It was the fourth time this season the Twins ace has allowed five or more runs.

"I think Ervin will tell you that he had to battle tonight," Twins manager Paul Molitor said. "He probably didn't have as good a feel for his slider as he did his last game out."

Ben Gamel added three hits for the Mariners and made a highlight-reel catch in the eighth inning on a foul ball down the left-field line. Robinson Cano also recorded three hits.

But it was Zunino, the No. 8 hitter, who delivered the early blow the Twins couldn't recover from.

"I'm happy for him," Servais said. "Made some major changes in his swing. He's getting results. Hope it continues for a long time."

ROSTER MOVES

The Twins re-signed RHP Drew Rucinski to Triple-A Rochester before the game Wednesday after designating him for assignment three days earlier. Rucinski has made two relief appearances for the team this year.

The Mariners also made a pregame move, recalling RHP Chase De Jong to join the bullpen and optioned RHP Casey Lawrence to Triple-A Tacoma.