Boston 6, Tampa Bay 4: David Ortiz doubled in the go-ahead run for his seventh consecutive hit and the Red Sox won their third straight over the Rays. Boston, on a tear since a season-opening 1-5 road trip, can complete a series sweep in today's traditional Patriots Day game that starts at 11:05 a.m.
Detroit 5, Chicago White Sox 2: Gerald Laird homered among his three hits to back a strong outing by Rick Porcello, helping the Tigers snap Chicago's four-game winning streak.
Toronto 9, Orioles 2: Edwin Encarnacion and Brett Lawrie hit home runs for the Blue Jays, who used a seven-run sixth inning to beat the Orioles. Kyle Drabek (2-0) won back-to-back starts for the first time in his career.
Texas 4, Minnesota 3: Josh Hamilton's two-run homer in the eighth capped a three-run inning for the Rangers and set up Joe Nathan for the save against his former team. The Rangers completed their first series sweep in Minnesota since 1999.
Seattle 5, Oakland 3: Brendan Ryan hit a two-run homer and Justin Smoak added a solo shot for the Mariners.
Cleveland 13, Kansas City 7: Travis Hafner hit one of the longest home runs in Kauffman Stadium history, Shelly Duncan homered and drove in three runs and the Indians romped past the Royals.
Philadelphia 8, N.Y. Mets 2: Cole Hamels pitched seven strong innings and Ty Wigginton drove in four runs, helping the Phillies avoid a three-game sweep at home against the Mets for the first time since June 13-15, 2006. Ike Davis and Lucas Duda each had two hits for the Mets, who got six solid innings from starter Mike Pelfrey.
St. Louis 10, Chicago Cubs 3: Jake Westbrook allowed one earned run in seven strong innings and rookie Matt Carpenter homered, tripled and drove in five runs for the Cardinals. Cubs starter Paul Maholm (0-2) fell to 0-7 in nine starts since his last win on July 10, 2011.
Atlanta 7, Milwaukee 4: Chipper Jones hit a three-run homer in his return after missing two games, Brandon Beachy pitched seven strong innings and the surging Braves beat the Brewers for a three-game sweep. Jason Heyward also homered for the Braves, who have won five straight after losing their first four games.
Arizona 5, Colorado 2: Trevor Cahill earned his first win with Arizona and Chris Young homered and drove in three runs as the Diamondbacks avoided a series sweep. Cahill got 13 outs on ground balls.
Miami 5, Astros 4 (11): Omar Infante and Hanley Ramirez hit the Marlins' first homers in their new ballpark, activating the much-discussed home-run sculpture. Miami went 2-3 without manager Ozzie Guillen, who will return Tuesday from a five-game suspension.
Cincinnati 8, Washington 5 (11): Joey Votto hit a two-run double in the 11th inning and the Reds avoided a four-game sweep. The Reds, who had scored just 10 runs in losing five of six, scored their most runs in a game this season.
Pittsburgh 4, San Francisco 1: Kevin Correia pitched six effective innings, Garrett Jones homered and the Pirates ended a five-game losing streak.
L.A. Dodgers 5, San Diego 4: The Dodgers turned a bizarre triple play in the top of the ninth inning, then Dee Gordon singled home the winning run in the bottom half. The Dodgers improved to 9-1, the best mark in the major leagues and equaling their best start ever in Los Angeles.
Around the horn
San Francisco Giants: Closer Brian Wilson said that he will probably have elbow-reconstruction surgery, ending his season after only 56 pitches, two appearances and one save. He was officially placed on the 15-day disabled list.
From wire service reports.