Danks (9-7) gave up six runs on six hits in the second inning, but only allowed three hits in his other five scoreless innings and the White Sox did all the little things right to push the slumping Twins 4 1/2 games behind them in the AL Central.

Bobby Jenks picked up his 20th save in 21 chances. He struck out Orlando Hudson with the bases loaded in the eighth inning, then gave up an RBI-single to Delmon Young in the ninth before getting Jim Thome looking to end the game.

Chicago perfectly executed four hit-and-runs, bunted runners over and played superb defense for their 26th win in the last 31 games.

The Twins lost for the seventh time in nine games and suffered through another terrible outing by their starting pitcher. Kevin Slowey was tagged for five runs on nine hits in three innings and Alex Burnett (1-2) gave up three more runs in relief.

Rangers 7 Red Sox 2: At Boston, Josh Hamilton had three doubles to take over the major league batting lead and help the Rangers get off to a quick start in the second half by beating the Red Sox.

Hamilton improved his average to .351 before leaving in the seventh inning with soreness in his right knee.

Nelson Cruz and Vladimir Guerrero also had three hits, and Bengie Molina homered in the six-run first inning to help the Rangers halt a four-game losing streak. Tommy Hunter (6-0) held Boston to five hits before leaving with a 7-2 lead with two outs in the seventh.

J.D. Drew and Bill Hall homered for Boston, which has lost six of its last eight games.

Tim Wakefield (3-8) had his shortest outing since September, 2008.

Angels 8  Mariners 3: At Anaheim, California, Erick Aybar and Bobby Abreu drove in three runs apiece, Joel Pineiro won his seventh straight decision, and the Angels returned from hosting the All-Star game with a victory over the Mariners.

Howie Kendrick had a run-scoring double for the Angels, who stumbled into the break with eight losses in 10 games, including a 1-6 road trip on which they were outscored 44-14. Los Angeles pounded out 16 hits against the Mariners, with every starter except All-Star cleanup hitter Torii Hunter getting at least one.

All-Star Ichiro Suzuki hit a three-run double and threw out the speedy Aybar at the plate for the last-place Mariners, who have lost 10 of 12.