Cubs 5, Giants 2 (13): Geovany Soto hit a three-run homer to cap a four-run 13th inning and send Chicago to a wild victory over visiting San Francisco.
Soto's drive finished off an eventful day for the Cubs. Starter Carlos Zambrano left in the second inning because of soreness in his lower back, then Aramis Ramirez hit a tying home run in the ninth off San Francisco closer Brian Wilson.
White Sox 6, Rockies 4 (10): Light-hitting Juan Pierre laced a tiebreaking, two-run single off the wall in the 10th inning, helping Chicago rally for a road win over Colorado.
With the bases loaded, Pierre, who's known for his speed more than his power, turned on a pitch from Clayton Mortensen (2-4) that hit off the top of the wall in right. The ball was hit so hard and on such a line that the runners held up on the bases, limiting Pierre to just a single. A.J. Pierzynski and Gordon Beckham scored on the play as the White Sox took two of three from the Rockies in the series.
Yankees 5, Brewers 0: CC Sabathia tied his career high with 13 strikeouts and Mark Teixeira hit his 300th homer to help New York finish off June with a season-best five-game winning streak by beating Milwaukee at home.
Pirates 6, Blue Jays 2: Jeff Karstens capped a brilliant June with another strong start, Brandon Wood hit a two-run homer and Pittsburgh won their first interleague road series since 2003. Karstens (6-4) improved to 3-0 with a 1.52 ERA in six June starts.
Cardinals 5, Orioles 1: Chris Carpenter scattered seven hits for his second complete game of the season and Colby Rasmus homered to help St. Louis beat host Baltimore. Carpenter (3-7) threw a season-high 132 pitches. The right-hander struck out five, walked one and surrendered just one extra-base hit — an RBI double to Nick Markakis in the third inning.
Red Sox 5, Phillies 2: Jon Lester tossed two-hit ball over seven shutout innings, Jason Varitek homered twice and visiting Boston avoided a three-game sweep. Lester (10-4) struck out Raul Ibanez with two runners aboard to end a game-tying threat in the seventh. Dustin Pedroia and Varitek homered back-to-back in the eighth.
Tigers 5, Mets 2: Justin Verlander slowed down the rampaging Mets, pitching seven solid innings to lead Detroit to a victory over visiting New York. The Mets had scored a team-record 52 runs in their previous four games.
Marlins 5, Athletics 5: Chris Volstad allowed one unearned run in seven innings and John Buck hit a two-run double to help Florida cap a miserable June by beating Oakland on the road for their first back-to-back wins in more than a month.