Lopez, who went 3-for-5, hit his 15th home run of the season, singled, doubled scored two runs and drove in three. Griffey went 3-for-5, hit his 622nd career home run, doubled, singled, scored two runs and also drove in three.
Neither of them ever have hit for the cycle -- single, double, triple and home run -- but Griffey let it be known that if he came to bat in the ninth inning and got a hit, he would not stop running until he reached third.
But he was in the on-deck circle when Lopez grounded into an inning-ending double play.
Even so, this was a "typical" game for Lopez, who is now batting .338 (25-for-74) with eight doubles, five home runs and 18 RBIs in games Hernandez has pitched this season.
"Felix comes to me before every game and says, 'I need a couple of hits from you,'" Lopez said, "but I always tell him I don't have any for him."
But he usually does and said he has no idea why.
"I am going to ask skip [manager Don Wakamatsu] if Felix can pitch every day," Lopez laughed.
But Hernandez, 12-4 with a 2.78 ERA, definitely will need the four days of rest before his next start -- against the defending American League champion Rays at Safeco Field on Friday night.
"I am disappointed with my performance today," he said. "I felt terrible. I was all over the place. I don't know how I allowed just two runs. That is hard to believe."
The Rangers put the first two batters on in the first inning and didn't score; loaded the bases in the second and didn't score; put the first two batters on in the seventh and didn't score.
Seattle turned three double plays, but one was a line drive and another when Rangers rookie shortstop Elvis Andrus tried to advance to second base after the ball that Omar Vizquel struck out on bounced away from catcher Rob Johnson.
Andrus left the base even though Vizquel was automatically out. Furthermore, second base also was occupied, by Jarrod Saltalamacchia, who saw Andrus coming so tried to make it to third.
"Sometimes it's better to be lucky than good," Hernandez said. "But I'll take it."
So will the Mariners, who have fallen nine games behind the Angels in the AL West and are looking almost as much to the future as the present.
"He worked as hard for this win as any all year and I have to give him a lot of credit for that," Wakamatsu said. "You could see that he wasn't executing his pitches the way he wanted, but he still found a way to get out of [trouble]."
But he needed some help.
Ichiro Suzuki provided a lift in the first inning by catching a fly ball and turning it into an inning-ending double play at the plate. His throw was high, but Johnson jumped, snagged the ball and was able to tag out Vizquel.
Left fielder Ryan Langerhans had some kind of third inning.
He tripled home a run in the top of the inning and then made a fence-crashing catch to rob David Murphy of an extra-base hit in the bottom of the inning.
Hernandez needed all the help he could get, and he persevered.
"It shows what kind of champion this guy can be," Wakamatsu said. "Sometimes you have to find other ways to win when you don't have your best stuff. He didn't go out there fully armed the way he normally does and he battled.
"I put this up there with just about any win he has this year."
The Rangers, trying to keep pace with the Angels, sensed that they were not getting the All-Star Hernandez.
"He didn't have much control and we didn't take advantage of it," said Nelson Cruz, who hit a 458-foot home run in the fourth inning.
Griffey's 11th home run of the season, and first since July 1, was a three-run shot in the first inning off right-hander Tommy Hunter, who became the 400th different pitcher to surrender a home run to Junior.
Griffey had said before the game that he was "getting better passes" at the ball.
"This is as good as I have seen him in a while," Wakamatsu said. "He stood in there with a lot of confidence tonight."
But he still lacked the final leg of the cycle.
"My plan was go to third and not even touch the other two bags," he said. "No reason to waste a whole lot of energy."
Right-hander Mark Lowe picked up for Hernandez after seven innings and retired all six batters he faced, striking out three.
"We haven't used anyone two innings at a time very often," Wakamatsu said, "but we stretched him out a little and the way he closed out the game against that team is not easy."