Josh Hamilton hit a tiebreaking home run in the sixth inning, Mitch Moreland added two homers, a three-run shot in the fourth and a two-run shot in the sixth, and the Texas Rangers beat the Chicago White Sox 7-4 on Friday night.
Moreland tied a career-high with five RBIs for the Rangers, who rallied for their 10th win in 12 games despite another shaky performance from starter Matt Harrison.
Rangers reliever Yoshinori Tateyama (2-0) pitched 2 2-3 scoreless innings for the victory and Neftali Feliz pitched a scoreless ninth for his 25th save in 31 chances.
The White Sox have lost three of four and are five games behind AL Central-leading Detroit.
Jake Peavy (5-6) allowed seven runs and six hits in six innings. He is 0-4 in his last six outings at home.
After making a great catch in the outfield in the fifth inning to rob Carlos Quentin, Hamilton led off the sixth with a towering home run to right. It was Hamilton's 16th of the season.
Two outs later, Mike Napoli singled off Peavy and Moreland connected on a 2-0 pitch for his second homer of the game and 16th of the season to give the Rangers a 7-4 lead. It was Moreland's third career multihomer game.
Peavy couldn't hold a 3-0 lead in the fourth inning, Michael Young hit a two-out single for the Rangers' first hit of the game. Nelson Cruz doubled off the wall in left to score Young from first. Peavy walked Napoli and Moreland followed with a three-run shot, giving the Rangers a 4-3 lead.
Moreland was back in the lineup after missing Thursday's game with tightness in his right hamstring. Peavy didn't allow a home run in his previous seven starts.
The White Sox came back in the fifth inning by taking advantage of shortstop Elvis Andrus' fielding error. With a runner on first, Juan Pierre placed a bunt right in front of catcher Yorvit Torrealba who threw a strike to Andrus covering second.
But the ball went off his glove into center field, allowing Gordon Beckham to go to third. Brent Lillibridge followed with a sacrifice fly to tie the game at 4. After a walk to Paul Konerko, Harrison was pulled for Tateyama, who was helped by Hamilton. With runners on first and second, Hamilton made a running catch into the center-field wall to rob Quentin. Tateyama ended the inning by getting Alexei Ramirez to pop out.
Harrison lasted just 4 1-3 innings, allowing four runs -- three earned -- and four hits with three walks.
The White Sox tagged Harrison for two runs and three hits in the first inning. Pierre led off with a bunt for a single and stole second. After a walk to Konerko, Quentin doubled down the left-field line to score Pierre. Ramirez followed with a single to give the White Sox an early 2-0 lead.
The trouble continued for Harrison in the second. Brent Morel tripled off the wall in center and scored on Pierre's safety squeeze bunt.
Harrison gave up six runs in 5 1-3 innings in Sunday's 7-6 victory over Oakland.