SEATTLE -- Felix Hernandez struck out 12 in a three-hitter and the Seattle Mariners beat Yu Darvish and the Texas Rangers 7-0 on Saturday night.

Hernandez (7-5) limited the powerful Rangers lineup to three singles while improving to 3-0 with a 1.40 ERA in his last six starts. He leads the majors with 140 strikeouts.

John Jaso homered for Seattle, which scored four times in the first inning. Michael Saunders and Kyle Seager had two RBIs apiece.

Darvish (10-6) allowed seven runs and eight hits in 6 1/3 innings. He struck out four and walked four.

Darvish got off to a rough start and never recovered. He issued a leadoff walk to Dustin Ackley in the first and Ichiro Suzuki followed with a single to right. Suzuki moved to second on a wild pitch before Darvish hit Casper Wells to load the bases.

Jaso then walked on four pitches to force home a run. Suzuki scored when first baseman Michael Young mishandled Saunders' hard grounder, and Seager added a two-run single.

Ackley hit a two-out RBI double in the fourth, Jaso connected in the fifth and Saunders doubled in Wells in the seventh.

The seven runs allowed are a career worst for Darvish, who is 1-2 with a 9.00 ERA in three starts against Seattle this year. Five of Darvish's six losses have come on the road.

It was more than enough run support for Hernandez, who has made four starts this season in which he's allowed one run or less and received a no-decision.

Elvis Andrus, Yorvit Torrealba and Young had the Rangers' hits. Josh Hamilton and Nelson Cruz each struck out three times, all swinging.

Cruz's seventh-inning whiff was the 10th of the night for Hernandez, the fourth time he has reached that mark this season and 20th time in his career.

Game notes

The Rangers recalled C Luis Martinez and sent RHP Yoshinori Tateyama to Triple-A Round Rock. Martinez provides insurance at catcher, since the Rangers are trying to rest Mike Napoli (thigh bruise).