"We kept grinding tonight," manager Mike Scioscia said. "It's just a tough grind-out game against a really good pitching staff. Those guys do a great job on the mound, especially their bullpen. For us to stay with them when we had to pitch, I think everybody who took the ball did a great job for us on the mound."
The win was the sixth straight victory for the Angels (58-37) and a franchise-record 12th consecutive win over an American League West opponent. The Halos are now 6-4 in extra-inning games and 13-12 in one-run contests.
Los Angeles remains 1 1/2 games behind AL West-leading Oakland, which beat the Orioles, 5-4, on Josh Donaldson's walk-off, three-run home run.
For Seattle (51-45), the loss was the fifth in its last seven games.
With Mike Trout on second base after a one-out double and Josh Hamilton on first after an intentional walk, Navarro stepped in to pinch hit for John McDonald and ripped a first-pitch Dominic Leone (2-2) fastball up the middle, scoring Trout.
Scioscia said the decision to use Navarro in that situation was two-fold.
"I think Efren has a good eye and maybe he can pass the baton and a chance to get Howie up there," Scioscia said. "If not, he's going to put the ball in play and hopefully find a hole and he did. He hit it sharply up the middle."
For Navarro, it was his first career walk-off RBI and the first pinch-hit walk-off by an Angel since Sept. 7, 2012. It was just the second pinch-hit walk-off in the 16th inning or later in Angels franchise history.
But without the Angels bullpen, Navarro's heroics may not have happened.
The Angels used their entire seven-man bullpen -- Mike Morin, Joe Thatcher, Kevin Jepsen, Joe Smith, Jason Grilli, Fernando Salas and Cory Rasmus -- and No. 5 starter Hector Santiago in relief of ace Jered Weaver to make it through the five-hour, 14-minute affair.
Santiago (2-7), who has moved from the rotation to the bullpen throughout the season, picked up his second win of the season in his fourth relief appearance. He threw the final 2 2/3 innings and allowed two Seattle hits.
"I think the bullpen showed a lot of balls doing what they did today," Weaver said. "That was a long game and having to keep us in it. Both bullpens did a hell of a job. … Obviously, the bullpen was the story of the night, for sure."
The bullpen has improved dramatically in the last month, posting a 2.37 ERA in their last 27 outings and just two blown saves. In the first 66 games, Angels relievers had a 4.36 ERA with 10 blown saves.
The Mariners had a baserunner in each of the last 13 innings but were only able to push across two runs in the seventh inning off Weaver.
Seattle had its opportunities, though.
They threatened in the 16th after a leadoff single but a failed sacrifice bunt and a caught stealing quelled the rally. They threatened in the 13th when they put runners on the corners with two outs but Brad Miller struck out looking to end the inning. They threatened in the 11th with a man on second with one out but Salas snared a Miller liner and doubled off Willie Bloomquist at second.
And they threatened in the ninth when Robinson Cano was called out at second when he took his foot off the bag after an apparent leadoff double.
"That was a big out to get in that situation," Scioscia said. "That was important."
The Mariners left 14 guys on base, five in extra innings. The Angels meanwhile, stranded just one runner prior to Navarro's game-ending hit.
Angels shortstop Erick Aybar left the game in the ninth inning after singling to lead off the frame. He was removed because of a sore right groin and John McDonald pinch ran for Aybar and remained in the game at shortstop before Navarro replaced him.
Scioscia said the Angels would monitor Aybar but the injury does not appear serious.
"Obviously, that's one guy we're not going to take any chances with," Scioscia said. "We're going to evaluate it and it doesn't look bad right now but I would imagine we're going to hold him out tomorrow."
Weaver went six innings and was charged with two runs on six hits while he struck out eight and walked two and did not factor in the decision.
He tiptoed out of trouble in both the fifth and sixth, holding the Mariners scoreless. In the fifth, Justin Smoak doubled to lead off the inning but was stranded at third when Miller struck out and Mike Zunino popped out to end the frame. In the sixth, Weaver worked around a pair of walks to leave the bases loaded by striking out Smoak to end the threat.
After the Angels scored two in the fifth, Seattle tied the game in the seventh inning with two runs. Dustin Ackley smacked a leadoff double to center and Miller lined a single that drove in Ackley and forced Weaver out of the game. Miller scored on Endy Chavez's single off Mike Morin.
"Scioscia wanted to take me out after that sixth inning, I think I was riding a high wave and had a lot of confidence and wanted to go back out there for the seventh but obviously didn't prevail," Weaver said. "If I had to do it all over again, probably would've just let Morin come in and have a fresh inning there in the seventh."