Hernandez (5-1) continued his recent domination of the Twins, giving up two runs and seven hits while striking out five and walking one.
In his past four starts against Minnesota, Hernandez has pitched 34 innings and allowed three earned runs with 30 strikeouts.
Seattle snapped a four-game losing streak and avoided being swept, and the Twins have won three straight series and six of nine overall.
Twins manager Ron Gardenhire won a replay challenge in the third inning that helped Minnesota take a 2-0 lead.
With a man on first and nobody out, shortstop Danny Santana hit a dribbler to first baseman Justin Smoak, who flipped the ball to Hernandez covering at first. Santana was ruled out on the play, but replays showed that his foot hit the bag just before the pitcher arrived.
Hernandez almost got out of the jam, striking out Brian Dozier and Joe Mauer on two-strike sliders, but Trevor Plouffe scored both runners with a two-out single to right-center to put Minnesota on top 2-0.
The Mariners rallied on Kyle Seager's RBI single in the fourth, but Twins starter Ricky Nolasco (2-4) avoided further damage by striking out Brad Miller with the bases loaded to end the threat.
Nolasco's ability to avoid trouble ran out in the fifth. James Jones led off with an infield single, then scored on Michael Saunders' triple to right field. Cano followed with a shot off the center field wall for an RBI double that gave Seattle a 3-2 lead.
Saunders added a sacrifice fly in the sixth inning, Justin Smoak had an RBI double in the seventh and Cano scored on a wild pitch in the ninth as the Mariners pulled away.
Seattle gets Monday off, and then they open a short two-game series against the Rangers in Arlington on Tuesday.
Notes: Mariners manager Lloyd McClendon said that the team will decide later this week whether 1B/OF Logan Morrison is ready to begin a minor-league rehab assignment. Morrison has missed five weeks with a strained right hamstring. ... Seattle DH Corey Hart left the game in the fourth inning after straining his left hamstring while stealing second base. ... Cano's single in the fourth extended his on-base streak to 26 games, the longest in the major leagues this year.