He struck out eight and walked three before leaving after a season-high 126 pitches.
Jamey Wright took over in the eighth with two outs and Pennington on second and DeJesus on first. Conor Jackson grounded out on his first pitch to end the inning.
Brandon League pitched the ninth for his fourth save in four chances.
Hernandez is 11-4 in 19 career starts against the A's with a 2.61 ERA. He has won 10 of his last 12 decisions against Oakland since April 2, 2007.
Kennedy homered for the second night in a row, sending a 3-1 fastball from Brandon McCarthy (1-1) into the right-field seats with one out in the fourth.
Kennedy also had a stellar evening in the field in just his ninth career start at first base. He is filling Justin Smoak, who is on bereavement leave.
In the seventh with two outs and a runner on first, Ellis hit a grounder to deep short. Kennedy made a long, falling-down stretch on shortstop Brendan Ryan's arching throw for the out.
McCarthy went eight innings for his second career complete game. He allowed four hits while walking one and striking out six. His ERA is now 2.10.
Over the past seven games, the A's starters have a 1.13 earned run average. Overall, the staff leads the major leagues with a 2.52 ERA.
Carlos Peguero got his first major league hit by beating out a single to shortstop in the third. He was then quickly picked off first.
Notes: Both teams had late lineup changes. Mariners LF Milton Bradley was scratched because of an upset stomach. An illness also forced 1B Daric Barton out of Oakland's. Barton pinch hit in the eighth. ... RHP Shawn Kelley, who had Tommy John surgery on Sept. 1 last year, joined the Mariners after his extended spring in Arizona. "It definitely feels like there's a light at the end of the tunnel, getting out of Arizona," he said. He's hoping to return by June 1. ... A's LHP Dallas Braden had his ailing shoulder examined by noted orthopedic surgeon Dr. Lewis Yocum and he found no structural damage. "Just a little stiffness in the shoulder," A's manager Bob Geren said. "We'll treat him and go from there." ... A's RHP Michael Wuertz, on the DL with a strained left hamstring, threw 39 pitches for Triple-A Sacramento Wednesday. He will throw again Saturday.