Beltre hit a three-run homer in the fifth inning off Barry Zito (1-5) to give the Mariners a 5-3 lead. Franklin Gutierrez walked and Ichiro Suzuki singled prior to Beltre's second home run of the year.
"I think it was a low cutter, slider-type," Beltre said. "He hung it over the plate and I was able to make good contact. Safeco is tough, but I hit it good and I thought it had enough to go."
Zito allowed five runs in 6 1/3 innings. He gave up five hits, five walks and fanned five.
"I didn't really get in a groove today," he said. "I had some four-pitch walks that were inexcusable losing focus like that. It came to a head, and Beltre hit the slider. I got back to challenging guys after that, but it was too late."
Beltre just wanted to try to score Gutierrez from third.
"He got me in the third to ground into a double play," Beltre said of Zito. "After that, I was trying to get a pitch to get a fly ball in the air so we could score a run and tie the game."
Hernandez (5-3), who had lost three of his last four starts and allowed six runs in each of the defeats, bounced back with a strong performance. He struck out 10 in eight innings and allowed one earned run.
"I just wanted to go out and throw strikes," Hernandez said. "The last couple of games, I fell behind a couple of times. I just put in my mind to go out there and throw strikes."
Seattle manager Don Wakamatsu criticized Hernandez after his previous outing.
"I thought he stepped up today and did a phenomenal job not just stuff-wise, but more importantly because of the shape of our bullpen, we needed the eight innings," Wakamatsu said.
David Aardsma pitched the ninth for his sixth save in six chances.
The Mariners beat Zito for the first time since 2003. Zito dropped to 12-3 against the Mariners.
"We get the momentum going and score three, and going out there and giving it right back up, that's tough to swallow," Zito said. "That's the most frustrating part. I walked the No. 9 hitter, Ichiro singled and the other guy bunted. I'm very upset with myself about that."
Griffey hit a two-run homer in the first. It was his 616th career home run and fifth of the season.
"He's a fairly patient first-pitch guy and I just made that pitch too good," Zito said.
Griffey's homer ended a Seattle streak of 31 consecutive hits without an extra-base hit over the last five games.
Zito entered the game with a major league worst support of 1.25 runs per game. On Tuesday, Zito threw his first complete game since 2003 in a 2-1 loss to San Diego when he allowed two home runs.
"It's going to be a tough one to sit on knowing that we scored four off of Hernandez today," Zito said. "It's frustrating because we scored four off that guy we should come away with a win."
The Giants purchased the contract of Whiteside from Triple-A Fresno on Sunday and he started at catcher. He arrived at the park about an hour before the game after a flight from Des Moines, Iowa. He went 1-for-3, scored a run and drove in one. Whiteside played nine games for Baltimore in 2005 in his only other major league appearance. The Giants needed a catcher because of a right-elbow injury to 3B Pablo Sandoval. On Monday, Sandoval will undergo tests. Regular C Bengie Molina had a planned break from catching and was the DH. ... The Giants optioned left-handed reliever Pat Misch to Fresno. ... Suzuki singled in the fifth to extend his hitting streak to 18 games.