SEATTLE (AP) -- Nelson Cruz singled in the tiebreaking run to cap a two-run, ninth-inning rally, and the Seattle Mariners overcame a five-run deficit to beat the Texas Rangers 8-7 on Sunday for a three-game sweep.Nomar Mazara gave Texas a 7-6 lead when he led off the ninth against Edwin Diaz (1-1) with his fourth homer.Pinch-hitter Jarrod Dyson reached on an infield single starting the bottom half, a ball deflected by reliever Sam Dyson (0-3). Jarrod Dyson stole second and took third when Leonys Martin reached on a bunt single that Dyson fielded only to find no one covering third.Martin stole second, pinch-hitter Mike Freeman was walked intentionally and Mitch Haniger took a low 3-1 pitch for a bases-loaded walk. Robinson Cano hit into a forceout, and Cruz hit a sharp grounder up the middle. Shortstop Elvis Andrus snagged the ball with a dive, but his off-balance flip to second was off line as Freeman scored.Seattle trailed 6-1 before Haniger's three-run homer in the third, then tied the score 6-6 when Danny Valencia hit an RBI single in the sixth and Guillermo Heredia opened the seventh with his second big league home run, his first this year.Haniger preserved the tie in the eighth with a leaping catch at the top of the wall in right-center to rob Joey Gallo of a potential two-run homer.Shin-Soo Choo staked Texas to the lead with a three-run homer in the second and two-run double in the third.Rangers starter Cole Hamels left in position to win for the third straight start but has not gotten any decisions. He allowed four runs - three earned - and six hits in five innings. Seattle's Hisashi Iwakuma gave up six runs and seven hits in three innings.TOSSEDMariners manager Scott Servais was ejected in the sixth inning by first base umpire C.B. Bucknor for arguing after a delayed fair call on Martin's inning-ending groundout over first base.