Mark Teixeira, Curtis Granderson and Nick Swisher all homered off Halladay to build a comfortable cushion for Sabathia in a marquee pitching matchup that fizzled early.

Brett Gardner laced a two-run triple in the second inning and the Yankees, who began the day tied with Tampa Bay for the American League East lead, won their ninth straight home game — the club's best streak in its second-year ballpark.

Sabathia (7-3) went seven innings, allowing five hits and striking out seven.

Halladay (8-5) matched a career high by serving up three homers — the same amount he allowed in his first 13 outings with Philadelphia.

At Atlanta, David Price pitched out of trouble to become the AL's first 10-game winner as the Tampa Bay beat Atlanta.

After a rain delay of nearly 2½ hours at the start, a throwing error led to three unearned runs in a four-run first that sent Kenshin Kawakami (0-9) to another loss. He became the first starting pitcher in Braves history to begin a season with nine straight defeats.

Price (10-2) was hardly dominating, lasting only five innings and throwing 113 pitches. But he got out of numerous jams, including striking out Brooks Conrad with two runners aboard on his final pitch of the night and he got some offensive help with Evan Longoria hitting a two-run homer.

At St. Louis, Jeff Suppan was a success in his comeback start with St. Louis and Albert Pujols homered in a victory over the Seattle.

Pujols is 6 for 10 with five RBIs in three games, snapping a 1 for 18 skid that dropped him below .300. He's a career .352 hitter in interleague play, best in the majors.

Suppan, signed this week after being cut by Milwaukee, worked hard to get through four innings in his first start for St. Louis since Game 4 of the 2006 World Series. It was his first start since early April and, after working out of a bases-loaded jam in the first, he allowed only one run.

Suppan also doubled and scored in a three-run fourth.

At Anaheim, Dave Bush took a shutout into the eighth inning, Prince Fielder homered and Corey Hart hit a three-run double as Milwaukee beat Los Angeles.

Bush (2-5) allowed one run and seven hits over 7 1-3 innings in his longest outing of the season. It was the right-hander's first victory in 10 starts since winning at Pittsburgh on April 20.

Padres 8 Blue Jays 2: At San Diego, Aaron Cunningham hit his first career grand slam and Mat Latos outpitched Brett Cecil to send San Diego past Toronto.

It was Cunningham's first hit as a Padre, and he doubled in his next at-bat.

Latos (7-4) retired the first 11 Toronto batters. He is 6-1 with a 2.05 ERA in his last eight starts.

At San Francisco, Jake Arrieta gave up three hits over seven-plus innings, Adam Jones hit a home run and Baltimore ended a four-game losing streak with a victory over San Francisco.

Ty Wigginton drove in two runs and Miguel Tejada had three hits for the Orioles. Nick Markakis doubled twice and Corey Patterson had two hits and scored twice.

At Chicago, Rajai Davis and Kevin Kouzmanoff had three hits apiece as Oakland took advantage of four errors to beat Chicago on a rainy night.

Kouzmanoff extended his career-high hitting streak to 15.

Three-time Gold Glove first baseman Derrek Lee committed back-to-back errors in a four-run fourth and right fielder Tyler Colvin added two more in a three-run seventh that broke open the game.

At Minneapolis, Carl Pavano (7-6) allowed two runs on five hits in seven innings and Jason Kubel homered to lead Minnesota over Colorado.

Light-hitting Matt Tolbert hit his first homer of the season and Delmon Young had three hits for the Twins.

Aaron Cook (2-4) lasted just 3 1-3 innings for the Rockies, giving up five runs.

At Kansas City, Yuniesky Betancourt's bases-loaded double keyed a seven-run, two-out rally in the fifth inning which helped Kansas City to a messy victory over Houston.

Mike Aviles went 4 for 5 with a career-high four RBIs while Billy Butler, Alberto Callaspo and David DeJesus all had three hits in the win. The Royals set a season high for runs and tied their season high with 20 hits.

At Miami, Matt Treanor's pinch-hit, two-run triple in the ninth inning lifted Texas to its sixth win in seven games.

Josh Hamilton led off the ninth with a single and stole second before Justin Smoak popped up and David Murphy advanced him on a groundout. Julio Bourbon walked before Treanor's hit off Leo Nunez (2-1).

At Cleveland, Johan Santana won for the first time in four starts as New York edged Cleveland.

Santana (5-3) gave up four runs and seven hits over seven innings as the Mets won their fifth straight and ninth of 10. The left-hander struck out only one but earned his first win since beating the Yankees in another interleague game on May 23.

At Boston, David Ortiz homered, Dustin Pedroia scored three runs and Clay Buchholz had another solid start as Boston downed Arizona.

Buchholz (9-4) allowed three runs on seven hits and a walk, striking out eight in 5 2-3 innings for his sixth win in seven starts.

White Sox 6  Pirates 4: At Pittsburgh, Gordon Beckham drove in three runs as Chicago spoiled former first-round draft pick Brad Lincoln's first start at home, extending Pittsburgh's losing streak to nine games.

Andrew McCutchen matched his career high with three stolen bases while getting three hits and a walk for Pittsburgh.

At Detroit, slumping Ryan Raburn hit his first homer of the season and drove in four runs as Detroit downed Washington.

Raburn drew a bases-loaded walk in the second inning, then hit a leadoff single that started a two-run fourth to make it 4-all. He hit a three-run homer in the fifth.

Max Scherzer (3-6) struck out nine batters in six innings.
 
At Cincinnati, Manny Ramirez homered and drove in four runs and Rafael Furcal tied his career high with five hits to help Los Angeles manhandle Cincinnati and end a three-game losing streak. James Loney also had four hits.

Hiroki Kuroda (6-4) outlasted a rain delay of 2 hours, 24 minutes to win for the first time in four starts.