Scott Feldman put his worst start of the season in his rearview mirror.
On Wednesday, Detroit knocked Feldman around for six runs and 10 hits in 2 1-3 innings of a 13-5 Tigers victory.
This time, Feldman (10-4) was a whole lot better, allowing two runs and five hits with four strikeouts and two walks.
"There was nothing good to take from it so I just tried to forget about it, go out there tonight and pitch better," Feldman said. "I had better command of my fastball and my off-speed stuff too. Everything was a lot better."
Feldman extended his career-best win total and assumed the team lead in victories as the Rangers won for the 11th time in 14 games.
Feldman left a tie game, and the offense set him up for the decision.
Nelson Cruz led off the seventh with a single off reliever Jack White (2-2). One out later, Saltalamacchia belted White's first pitch off the foul pole in right field for his ninth homer of the season.
"I was just looking for a pitch up to try to drive in the gap to score a run," Saltalamacchia said. "The last thing we wanted to do was to go extra innings. We wanted to get the lead and keep it and let our bullpen do what they've done all year long. He left a curveball right there and I got a good wood it. I thought it was going foul but thankfully it stayed straight."
C.J. Wilson got three outs for his 13th save in 15 chances, but it wasn't easy.
Wilson hit Russell Branyan with a pitch and gave up a single to Jose Lopez. The runners advanced to second and third on a ground out, but Wilson struck out Jack Hannahan and Jack Wilson.
The game ended in controversy when Wilson insisted that the final pitch tipped off his bat for a foul ball. But home plate umpire D.J. Reyburn ruled that Wilson swung and missed at the pitch in the dirt, and when Wilson didn't run to first, Saltalamacchia grabbed the ball and tagged Wilson out to end the game.
While the Rangers spilled out of their dugout to celebrate, the umpiring crew huddled on the infield. After a quick consultation, Reyburn gave the out sign.
"I know I got a piece of it," Wilson said. "I didn't get a lot, but I make a lot of contact, especially with two strikes. If I swing and miss, I'm running to first. So I was getting ready for the next pitch, and the next thing I knew, I was out. It was a tough way to end the game."
David Murphy and Michael Young also homered for the Rangers, who remain four games behind the Los Angeles Angels in the AL West and trail Boston by 2½ games in the wild card race.
Ichiro Suzuki had two hits for the Mariners, who've lost seven of 10 and are 4-10 against Texas this season.
Feldman allowed one hit over the first five innings -- Suzuki's single in the fourth -- before running into trouble in the sixth when the Mariners loaded the bases with nobody out.
Branyan's RBI ground out got the Mariners even at 1, and Lopez's bloop single made it 2-1.
Young's leadoff homer in the sixth off the top of the wall in left-center tied it at 2.
Rangers second baseman Omar Vizquel made a heady defensive play in the sixth to send the speedy Suzuki back to the dugout. Suzuki led off with a single and Branyan hit a pop-up into short right field. Vizquel allowed the ball to drop, then fired to second for a forceout on Suzuki.
"Getting Ichiro off the basepaths is always a big deal," Vizquel said.
Ian Snell, acquired last week in a trade with the Pittsburgh Pirates, was sharp in his Mariners debut, allowing two runs and three hits in six innings.
Manager Don Wakamatsu went to the bullpen in the seventh when Snell's right forearm tightened.
"I was pretty impressed, especially in his first outing in a Mariner uniform," Wakamatsu said. "I thought he mixed his pitches well. His command was a little erratic, but a lot of that was probably jitters being his first outing. To come into this ballpark and give up three hits against this lineup, I thought he did a tremendous job."
Snell had been 2-8 with a 5.36 ERA in 15 starts for the Pirates before he was demoted to Triple-A Indianapolis, where he was 2-2 with a 0.96 ERA in six starts before the trade.
Snell gave up Murphy's solo homer in the first, and didn't allow another hit until Elvis Andrus' two-out double in the fifth.
Notes: Texas activated RHP Frank Francisco, who's recovering from a mild case of pneumonia, and placed 2B Ian Kinsler on the 15-day DL due to a strained left hamstring. Kinsler, the team leader with 63 RBIs, said before the game that the injury wasn't improving, and about 10 minutes before the first pitch, the club announced that Kinsler was headed for the DL for the fourth time in his career. ... Francisco pitched a perfect eighth. ... Seattle INF Adrian Beltre remains on track to be activated on Tuesday in Kansas City.