SEATTLE -- Felix Hernandez started with a whimper and finished with a wince of pain, but the Seattle Mariners pitcher did everything he could in between to keep up his streak of impressive starts while beating the American League West-leading Oakland Athletics 3-2 on Friday night.

Hernandez gave up two runs in the top of the first inning, matching the highest total he allowed in the entirety of any of his previous 10 starts, but bounced back to throw seven consecutive scoreless innings before closer Fernando Rodney survived a tense ninth for his AL-best 27th save of the season.

Rodney made it interesting in the top of the ninth. He came on with Seattle nursing a one-run lead and issued a one-out walk to catcher Derek Norris, who moved to second on a wild pitch. Pinch-hitter Yoenis Cespedes moved Norris to third on a flyout, leaving Nick Punto at the plate with two outs and a runner 90 feet from tying the score.

Rodney caught Punto looking on a 3-2 pitch, causing the Oakland second baseman to spike his helmet into home plate and begin arguing with home plate umpire James Hoye. A's manager Bob Melvin came out to pull Punto away, only to exchange a few words of his own with Hoye on the way back to the dugout.

Hernandez (11-2) allowed two runs and six hits while striking out nine in the eight-inning performance, outdueling Oakland ace Jeff Samardzija in the process.

Hernandez's final pitch, his 101st of the night, led to a Brandon Moss groundout to end the top of the eighth after the Seattle starter appeared to tweak his knee one pitch earlier. Manager Lloyd McClendon and trainer Rick Griffin came out to the mound to check on Hernandez, who may have hurt the knee throwing a pitch, but he remained in the game to get Moss out before slowly walking off the field while favoring his right leg.

Back-to-back two-out doubles by Seattle center fielder James Jones and second baseman Robinson Cano pushed across the go-ahead run in the bottom of the sixth inning after the Mariners (50-43) rallied from the early 2-0 deficit. Cano went 2-for-3 with the RBI double and has now had three consecutive multiple-hit games.

Samardzija (1-1) allowed three earned runs and five hits in an eight-inning complete game for the A's (58-35).

Hernandez extended his streak of consecutive games pitching seven or more innings while allowing two runs or fewer to 11 on Friday, despite a shaky first inning that saw the A's get three hits and two runs off of him.

The A's didn't take long before they started roughing up Hernandez. Oakland right fielder Stephen Vogt, the A's No. 2 hitter, turned Hernandez's fifth pitch of the game into a solo home run and a 1-0 lead. Vogt hit an 0-2 pitch over the right-field fence, marking only the sixth time in Hernandez's career that he has allowed a homer on an 0-2 pitch.

A's third baseman Josh Donaldson followed that with a one-out single on the next pitch and came around to score from second on shortstop Jed Lowrie's single two batters later to put Oakland up 2-0.

Seattle designated hitter Logan Morrison cut the lead to 2-1 with a leadoff home run off Samardzija in the bottom of the second inning, then an Endy Chavez sacrifice fly in the third tied the score 2-2.

Oakland first baseman Alberto Callaspo came out of the game in the top of the second inning after straining his hamstring running out a ground ball.

Notes: Mariners OF Michael Saunders (strained oblique) was placed on the 15-day disabled list before Friday's game. Saunders suffered the injury during an eighth-inning at-bat the previous night. 1B Justin Smoak, who was recalled from Triple-A Tacoma, took the available roster spot. ... The A's rolled out a Friday lineup that was missing all three of its primary starters in the outfield. RF Josh Reddick (knee) is on the disabled list, while CF Coco Crisp (neck) and LF Yoenis Cespedes (day off) were not in the lineup. ... Seattle manager Lloyd McClendon said Friday that he intends to give C Jesus Sucre his first start on Saturday while giving Mike Zunino the day off. ... Seattle RHP Felix Hernandez went into his Friday start with a streak of 10 consecutive starts in which he pitched seven or more innings while allowing two earned runs or fewer. ... Oakland RHP Jeff Samardzija was making his second start with the A's after being traded from the Chicago Cubs earlier in the month. Samardzija went 2-7 with a 2.83 ERA with the Cubs before the July 5 trade.