The Mariners were winless since King Felix's previous start, but Hernandez (5-1) helped snap their four-game skid by giving up two runs and seven hits while striking out five and walking one.
"It's always a confidence builder coming to the park when we know he's pitching. Typically we know that we don't have to put up too many runs to come out with a W," Mariners right fielder Michael Saunders said.
Hernandez has been especially tough on the Twins in recent years. In his past four starts against Minnesota, he has pitched 34 innings and allowed three earned runs with 30 strikeouts.
"It's the same old story -- really good stuff," Twins left fielder Jason Kubel said of facing Hernandez. "He's just tough, one of the toughest guys to hit."
The Twins, who have won three straight series and six of nine overall, jumped out to a 2-0 lead in the third inning on a rally keyed by a successful replay challenge.
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.
"I made one mistake," Hernandez said of his performance on Sunday. "I left that slider a little bit up against Plouffe and he got that hit. It was off the plate, but he put a good swing on it.
"I was a little (angry). I did not put a zero on the scoreboard. After that I made better pitches."
Meanwhile, after Twins starter Ricky Nolasco (2-4) breezed through the first three innings, the Mariners rallied by going deep in the count and making Nolasco work the second time through the order.
They got one run back on Kyle Seager's RBI single in the fourth, but they also drove up Nolasco's pitch count by making him throw 33 pitches that inning.
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.
By the end of the inning, Nolasco had thrown 100 pitches and was done for the day. And Hernandez had all the runs he needed to snap that losing streak.
"With that guy over there, you have to play perfect baseball," Twins manager Ron Gardenhire said. "We didn't do that. We gave them a few too many chances, and when you give them chances like that, that's what happens."
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.
Mariners closer Fernando Rodney worked a scoreless ninth in a non-save situation to cap what Seattle manager Lloyd McClendon called an "ideal" day.
"Our starter went eight and we got our closer some much-needed work," McClendon said. "It was perfect."
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. ... The Twins will send RHP Kevin Correia (1-5, 6.80) to the mound when they open a two-game series at San Diego on Tuesday. ... The Mariners also have a day off Monday. They will travel to Texas for a two-game set against the Rangers, with RHP Hisashi Iwakuma (2-0, 1.59) starting on Tuesday.