SAN FRANCISCO Brian McCann hit a two-run homer and an RBI single in his third game this season since coming off the disabled list, and Atlanta beat San Francisco 6-3 on Thursday to begin a four-game series between NL division leaders.
Julio Teheran (2-0) pitched seven efficient innings after his last scheduled outing was rained out Saturday. Craig Kimbrel earned his 100th career save, becoming the second-youngest pitcher to do so.
Buster Posey hit a two-run homer and an RBI single, but the Giants were done in by the fifth inning when the Braves batted around. San Francisco (20-15) fell into a first-place tie in the NL West with Arizona.
Ryan Vogelsong (1-3) gave up six runs and seven hits in 41/3 innings. He is winless in five starts.
Mets 3, Pirates 2
At New York, rookie center fielder Juan Lagares robbed Andrew McCutchen of a go-ahead hit in the top of the ninth inning, then pinch-hitter Mike Baxter's single in the bottom half sent the New York Mets over the Pittsburgh Pirates.
Baxter delivered his second winning pinch-hit in three days. His 10th-inning single Tuesday beat the Chicago White Sox.
This time, Baxter batted for Lagares and won it.
Lagares was equally responsible for the victory. With a runner on first and two outs, McCutchen hit a loud shot into faraway right-center field. Lagares glided back, perfectly timed his leap and plucked the ball at the top of the fence as he rammed into the padded wall.
Diamondbacks 2, Phillies 1
At Phoenix, Patrick Corbin won his fifth consecutive decision to start the season and drove in a run to help Arizona beat Philadelphia.
Corbin (5-0) scattered four hits over 61/3 innings and allowed one run to lower his ERA to 1.75. The left-hander became the first pitcher to throw at least six innings and allow two or fewer runs in his first seven starts of a season since Ubaldo Jimenez had 12 straight such outings for Colorado in 2010.
Nationals 5, Tigers 4
At Washington, Ryan Mattheus, Drew Storen and Rafael Soriano combined for shutout relief after Dan Haren nearly squandered a four-run lead, and Washington beat Detroit to complete a two-game sweep of the AL champions.
Ryan Zimmerman had three hits, helping the Nationals to their first four-game winning streak of the year.
Tigers pitcher Doug Fister (4-1) had an RBI single in the second off Haren (4-3), but the Nationals made it 5-1 in the bottom half on consecutive run-scoring singles by Zimmerman and Adam LaRoche.
Haren allowed four runs and nine hits in six innings, giving up a three-run homer to pinch-hitter Matt Tuiasosopo. Soriano converted his 12th save in 13 chances, retiring Prince Fielder on a game-ending flyout to the center-field warning track with a runner on.
Yankees 3, Rockies 1
At Denver, CC Sabathia and five relievers held Colorado to four hits, Robinson Cano smacked a solo homer and New York beat Colorado in a game that was delayed more than two hours by rain.
Cano also had an infield single in the third inning for his 1,500th hit as the Yankees took two of three from the Rockies.
A steady rain delayed the first pitch by 8 minutes. In the fourth, another thunderstorm halted the game for 1:59. That break meant the end of the day for Sabathia, who allowed one run and one hit in four innings.
Indians 9, Athletics 2
At Cleveland, Jason Kipnis, Nick Swisher and Mark Reynolds hit indisputable home runs and Scott Kazmir struck out 10 in six innings, leading the Cleveland Indians to a win over Oakland and a four-game sweep of the Athletics.
The Indians ended the series with a convincing blowout, one day after they won 4-3 with the help of a blown call in the ninth inning when umpires, after watching a video replay, ruled that an apparent tying home run by Oakland's Adam Rosales was a double.
Major League Baseball acknowledged the umpires made an "improper call," but executive vice president Joe Torre said the decision is final.
Kipnis hit a two-run homer in the first off Bartolo Colon (3-2) for the Indians, who won for the 10th time in 11 games and improved to 13-4 since April 20. Kazmir (2-1) allowed one run and five hits and has won back-to-back starts for the first time since 2010.
Josh Donaldson homered for the A's, who fell to .500 (18-18) for the first time since April 4.
Twins 5, Red Sox 3
At Boston, Oswaldo Arcia hit a two-run homer and Minnesota capitalized on a costly throwing error by Boston starter John Lackey to beat the struggling Red Sox.
Lackey's wild throw to second on a potential inning-ending double play gave the Twins another chance in the sixth and they responded with four unearned runs to take a 5-2 lead.
The Red Sox lost for the sixth time in seven games and fell out of first place in the AL East.
Kevin Correia (4-2) pitched 51/3 innings for the Twins and Glen Perkins pitched the ninth for his eighth save in eight chances.
Angels 6, Astros 5
At Houston, Mark Trumbo hit a two-run double in the eighth inning before Alberto Callaspo's go-ahead sacrifice fly sent Los Angeles to a win over Houston.
The struggling Angels snapped a four-game skid and avoided an embarrassing sweep against last-place Houston in a game that took 4 hours, 7 minutes — the longest nine-inning game this season.
Josh Hamilton and Brendan Harris homered for the Angels.
Rays 5, Blue Jays 4, 10 innings
At St. Petersburg, Fla., Luke Scott drew a bases-loaded walk with two outs in the 10th inning to give Tampa Bay a victory over Toronto.
The Rays loaded the bases on Evan Longoria's double off Aaron Loup (1-3) and two walks.
The game featured a rare matchup of reigning Cy Young Award winners, however David Price and R.A. Dickey were not involved in the decision.