ARLINGTON, Texas -- With one swing, Yangervis Solarte turned what could have been another one-run loss into a rare comeback win for the San Diego Padres.
Solarte hit a two-run homer off Texas closer Shawn Tolleson with two outs in the ninth inning, and the Padres rallied to end a season-high six-game losing streak with a 6-5 victory over the Rangers on Saturday night.
Solarte's drive down the right-field line handed Tolleson (2-2) his first blown save when he had a chance to be the first pitcher in five years to convert the first 14 chances of his career.
The fifth homer for Solarte was just the second time in 45 games that San Diego won when trailing after eight innings.
"It looked like all was lost and Solarte came up big," interim manager Pat Murphy said. "It was a great feeling for our guys. They deserve it. They've played everybody tough and came up short on the road."
Solarte reached base four times and scored three runs. Former Texas reliever Joaquin Benoit (6-4) won despite allowing a run in the eighth, and Craig Kimbrel struck out the side in the ninth for his 22nd save.
Mitch Moreland homered twice for the Rangers, who lost for the ninth time in 10 home games.
The Padres, down 5-3 entering the ninth, were on the verge of their fifth one-run loss in a span of seven games after pinch-runner Andrew Cashner was thrown out by Rangers left fielder Josh Hamilton trying to go to third on Melvin Upton Jr.'s RBI single that cut the Texas lead to 5-4.
Three pitches later, Solarte pulled a fastball down the line a few rows into the seats as Texas right fielder Shin-Soo Choo watched helplessly at the wall.
Elvis Andrus gave Texas a run to spare with a run-scoring double in the eighth, but Tolleson couldn't hold it. He gave up five hits and three runs in two-thirds of an inning, getting replaced by Spencer Patton after a single by Kemp following Solarte's homer.
Tolleson took over as closer in May when Neftali Feliz was removed from that role after blowing three saves in nine chances. The closer for both of Texas' World Series teams in 2010-11, Feliz declined a minor league option Friday after getting designated for assignment and became a free agent. He agreed to terms with Detroit on Saturday.
"My command might not have been quite as good tonight," Tolleson said. "I'm anxious to get back out there and get the job done."
Moreland twice gave the Rangers leads with solo homers -- in the second for the game's first run before breaking a 3-all tie and knocking Padres ace James Shields out of the game.
Shields remained winless in seven straight starts, but it was the first time in that span that San Diego won.
He matched a season high with four walks -- the third time he's had that many in the past five starts. Three came in the third after Matt Kemp had given him a 2-1 lead with a two-run homer, his eighth.
Walks to Odor and Delino DeShields around a double by Robinson Chirinos loaded the bases with no outs. After Choo tied the score on a double-play grounder to second, Prince Fielder beat the shift with an opposite-field single to left for a 3-2 lead.
Kemp's homer came after Colby Lewis hit Solarte with a pitch with two outs in the third. In the fifth, Justin Upton singled after consecutive two-out walks to Solarte and Kemp, scoring Solarte from second for a 3-all tie.
The go-ahead homer was the first of Solarte's career in the seventh inning or later. He reached base at least four times for the second time this season, and is the third San Diego player this year to reach with a hit, a walk and a hit by pitch in the same game.
Padres: Murphy said RHP Brandon Morrow came out of three innings of simulated work OK and should be ready for a rehab assignment that is to be determined.
Rangers: LHP Derek Holland is closing in on his first session of live batting practice since going on the DL on April 11 with a left shoulder strain. But manager Jeff Banister said it was unlikely to be in Houston, the first stop for Texas after the All-Star break.
Padres: RHP Tyson Ross (5-7, 3.56) has the longest active homerless streak in the majors at 80 innings.
Rangers: RHP Yovani Gallardo (7-7, 2.67) had a scoreless streak of 33 1/3 innings and a winning streak of four games snapped against Arizona in his last start.