The loss snapped a 10-game winning streak by Harrison against Seattle, including four this season, as he lost for the first time in six career starts at Safeco Field.
Beavan outdueled Harrison for seven-plus innings, scattering eight hits with one walk and two strikeouts as he evened his record at 10-10 with a 4.64 ERA.
Josh Kinney relieved Beavan with two on and no outs in the eighth and got out of that jam in impressive fashion, with Tom Wilhelmsen then working a 1-2-3 ninth for his 29th save.
"I'm from there, I got traded by them, it means a lot to beat those guys," said Beavan, who grew up in Irving, Texas, and was the Rangers' first-round pick in 2007. "That's the best-hitting team in baseball right there, hands down. Every time you watch those guys, whether against us or somebody else, they're putting up runs left and right."
Beavan lost a 1-0 duel to the Rangers in his first start of the season in Arlington, but turned the tables Saturday against the club that sent him to Seattle in the Cliff Lee trade in 2010.
"Anytime a guy can stand up on that mound and stop us from putting runs on the board, I have to give him credit," said Rangers manager Ron Washington. "He was pretty good."
Harrison had won nine straight starts against the Mariners and was 10-1 with a 2.14 ERA in 17 games (13 starts) in his career against Seattle. Only Dave Stewart (14) and Pedro Martinez (12) had won more consecutive decisions against the Mariners in their careers.
The Mariners found Harrison more hittable than they had in many of their previous encounters, but were 0-for-6 with runners in scoring position and only crossed the plate when Saunders drove an 0-1 slider into the right-field seats.
"I didn't really make a mistake," Harrison said of the only home run he's allowed at Safeco in 45 2/3 innings. "It was where I wanted to be, but he got extension on it, got out there and got it. It's not the only mistake I made, it's the only one that cost me."
The win was the Mariners' second in a row against the AL West-leading Rangers and evened their record at 9-9 against Texas going into Sunday's series finale. The Mariners are 72-80, five more wins than they had last year with 10 games still to go, all against playoff contenders.
"We want to send the message that we don't quit," said Saunders. "We took a big series off Texas today. Maybe we can break some hearts, but we're just looking to win some ballgames."
Saunders' blast would have been a two-run shot, but Rangers center fielder Craig Gentry threw Justin Smoak out at second trying to stretch a single just before Saunders unloaded his 17th home run of the season.
That wasn't the only time the Mariners failed to fully capitalize against Harrison. They put two on in the first with no outs after walks to Franklin Gutierrez and Casper Wells, but the big lefty got out of that with a double play grounder by Kyle Seager and a ground out to second by Jesus Montero.
They had the bases loaded with no out in the fourth and Washington was warming Roy Oswalt in the bullpen, but Harrison got Saunders on a broken-bat liner to second, struck out Alex Liddi and induced a grounder to first by designated hitter Luis Jimenez.
Beavan pitched out of trouble himself, working around leadoff hits in the first three innings. He helped himself in the fourth by fielding a hard line drive that hit his instep and bounded behind the mound, throwing out Michael Young leading off the frame.
"It hit me pretty good," Beavan said as he wore a wrap around his foot. "The ice is colder than the pain right now. I'll be fine. It just went numb for a second."
Later in the fourth, Wells chipped in with a nice play in right field, getting over quickly to field a double off the wall by David Murphy and firing to cutoff man Seager in plenty of time to nail Nelson Cruz trying to score from first.
Kinney provided the biggest save when he replaced Beavan with two on in the eighth and proceeded to strike out Ian Kinsler, get Elvis Andrus on a fly to center and then struck out Young.
"It was a beautiful start for Beavan," Kinney said. "He was going for win No. 10, pitching against those guys and that lineup, it couldn't get any bigger for him. It's 1-0, can't get any tighter. To come in that game with men on base, I didn't want to let anything happen.
"Individually, it feels great. I'm glad I can be in that situation. But the sense of accomplishment for the team outweighs that, looking around at how happy everyone is. It wasn't an individual win. We scored one run and won 1-0, but everybody is tickled."