Arlington Johan Santana struck out a season-high 13 in seven innings, Justin Morneau homered twice and the Minnesota Twins beat the Texas Rangers 7-1 on Tuesday night.
Santana (5-4) broke a personal two-game losing streak, shutting down a Texas offense that had produced 28 runs in its two previous games. Santana reached double digits for strikeouts for the 35th time and fell one short of matching his career high.
Sammy Sosa hit his 598th career homer for the Rangers.
Red Sox 7, Yankees 3
New York - Manny Ramirez hit a three-run homer and Boston jumped on Mike Mussina right away.
Mike Lowell also connected, helping the AL East leaders beat their top rivals for the sixth time in eight tries this season.
White Sox 10, Athletics 4
Chicago - Jim Thome hit a three-run homer and finished with five RBIs for Chicago.
Jermaine Dye added a two-run homer for the White Sox, who have has scored 28 runs in their last three games.
Angels 6, Tigers 3
Detroit - Orlando Cabrera homered and made a leaping catch to end Detroit's comeback, leading the Los Angeles Angels to their sixth straight victory.
Blue Jays 6, Orioles 4
Baltimore - Alex Rios had three hits and drove in the go-ahead run in a four-run fifth inning for Toronto.
Mariners 5, Devil Rays 2
St. Petersburg, Fla. - Richie Sexson hit a two-run single and Yuniesky Betancourt snapped a sixth-inning tie with a solo homer for Seattle.
Braves 8, Mets 1
Atlanta - Kyle Davies pitched eight strong innings and turned the game into a rout with a three-run homer over the center-field wall, leading Atlanta past New York and tightening the race in the NL East.
Marlins 5, Phillies 3
Miami - Miguel Cabrera's triple paced a sixth-inning rally against Cole Hamels, and Florida extended its winning streak to a season-high four games.
Nationals 8, Reds 4
Cincinnati - Felipe Lopez hit a grand slam in the eighth inning against his former team, rallying Washington.
Cardinals 9, Pirates 4
St. Louis - Adam Wainwright (4-3) allowed two runs in 51â3 innings and hit a two-run double, helping St. Louis end a five-game losing streak.
Dodgers 3, Brewers 2
Los Angeles - Randy Wolf allowed three hits in seven innings, Russell Martin hit a go-ahead two-run homer in the fourth, and Los Angeles snapped a season-high four-game losing streak.
Giants 4, Astros 2
San Francisco - Barry Bonds drew two more intentional walks and stayed stuck at 745 home runs, and Ray Durham drove in runs after both free passes to the San Francisco slugger.
Rockies 3, Diamondbacks 1
Phoenix - Troy Tulowitzki hit a tiebreaking RBI double in the top of the ninth inning to help Colorado get the win.
Padres 5, Cubs 1
San Diego - Jake Peavy allowed one run in six solid innings and Mike Cameron hit two of San Diego's four homers.