SAN FRANCISCO — Angel Pagan lined a game-ending double to right field with one out in the ninth inning, and the San Francisco Giants returned from a rough road trip to beat the San Diego Padres 3-2 on Friday.
Santiago Casilla (2-1) struck out two in a 1-2-3 ninth for the win. Shortstop Brandon Crawford made a great pickup on Jesus Guzman's grounder for the second out.
Luke Gregerson (1-2) gave up Gregor Blanco's leadoff bloop single to shallow left to start the rally, then pinch-hitter Andres Torres reached on a fielder's choice and stole second before coming home on Pagan's hit.
Chase Headley hit a tying, two-out homer in the sixth just over leaping left fielder Blanco.
Mets 7, Nationals 1
At New York, Matt Harvey outpitched Stephen Strasburg in a marquee matchup of young aces, escaping a late bases-loaded jam while the crowd chanted his name and leading the New York Mets over the Washington Nationals.
Ike Davis and Lucas Duda each hit two home runs, providing an ample cushion for Harvey and the Mets to end their three-game skid.
Brewers 5, Cubs 4
At Milwaukee, Ryan Braun hit a three-run homer, and Jean Segura produced some bizarre baserunning in the Brewers' win over the Cubs.
Segura somehow wound up safe at first base after attempting to steal third, only to later be thrown out attempting to steal second base again.
Segura led off the eighth inning with a single and stole second before Braun walked. The two attempted a double steal, but Shawn Camp didn't deliver a pitch. Instead, he threw to third well ahead of Segura, who turned and went back to second. Braun was there, and shortstop Luis Valbuena tagged both runners as they stood on the bag.
The rules say only the trailing runner is out in that case, but Segura trotted back toward first base and the home dugout, then appeared to realize what had happened and sped into the unoccupied base.
He later attempted a straight steal of second, but Cubs catcher Welington Castillo threw him out.
Pirates 6, Braves 0
At Pittsburgh, Wandy Rodriguez faced the minimum while throwing seven innings of one-hit ball to outpitch Tim Hudson and help the Pirates beat the Braves.
Hudson came up short in his first attempt at win No. 200.
Phillies 8, Cardinals 2, 7 innings
At Philadelphia, Roy Halladay tossed a two-hitter over seven innings and the Phillies beat the Cardinals in a rain-shortened game to snap a four-game losing streak.
Halladay (2-2) allowed two runs, walked two and struck out six to record a complete game. He's had consecutive strong outings after starting the season with two poor ones.
Marlins 2, Reds 1
At Cincinnati, Justin Ruggiano hit a solo homer off Aroldis Chapman in the ninth inning sending the Marlins to a victory that snapped the Reds' winning streak at four games.
Rockies 3, Diamondbacks 1
At Denver, Jhoulys Chacin pitched effectively into the seventh inning and became the first Rockies starter to throw 100 pitches in a game since June before leaving with left oblique tightness, and Colorado beat the Diamondbacks.
Troy Tulowitzki hit a two-run homer and Chacin helped himself by driving in a run with a sacrifice fly as the Rockies won their seventh in row and remained unbeaten in seven home games this season.
Rangers 7, Mariners 0
At Arlington, Texas, Yu Darvish struck out 10 while allowing only three hits over seven innings for Texas, and the Rangers had their biggest inning of the season in a victory over the Seattle Mariners.
In his first start in a week, and 33rd in the major leagues, Darvish (3-1) had his 10th career 10-strikeout game.
Jeff Baker put Texas up 1-0 with a two-out solo homer in the second off Joe Saunders (1-2). The Rangers added a six-run fifth, scoring twice as many runs as they had in any inning this year. The seven runs overall matched their season high.
Rays 8, Athletics 3
At St. Petersburg, Fla., Evan Longoria hit a two-run homer and Ben Zobrist had a pair of RBI singles to help Tampa Bay beat Oakland.
Jose Lobaton also drove in two runs with a bases-loaded single to back the pitching of Alex Cobb (2-1), who allowed three runs and 10 hits over 71/3 innings.
Brandon Moss and Jed Lowrie, who went 4 for 4, had run-scoring singles off Cobb in the first for the A's. Starting pitcher Brett Anderson (1-3) left with an ankle injury after Tampa Bay scored four times in the bottom half of the inning.
Angels 8, Tigers 1
At Anaheim, Calif., Peter Bourjos had three hits and three RBIs, Mike Trout and Albert Pujols drove in two runs apiece, and the Angels slowed the worst start in franchise history with a victory over Torii Hunter and the Tigers.
Pujols had three hits and Brendan Harris added an early RBI double for the Angels, who had a season-high 16 hits. Their 5-10 start still matches the 1961 expansion team's miserable beginning.
Yankees 9, Blue Jays 4
At Toronto, Andy Pettitte pitched effectively into the eighth inning, Travis Hafner homered and had two RBIs, and the Yankees beat Toronto.
Lyle Overbay and Vernon Wells also went deep against their former team as the Yankees won for the eighth time in 10 games.
Jose Bautista returned to the lineup as the designated hitter after missing the previous four games and hit a two-run homer.
Astros 3, Indians 2
At Houston, J.D. Martinez and Rick Ankiel hit back-to-back homers in the second inning and the Astros held on for a win over the Indians.
The win snaps a five-game skid for Houston and extends Cleveland's losing streak to five.
Houston starter Lucas Harrell (1-2) allowed two runs in 52/3 innings before three relievers combined to shut Cleveland out the rest of the way.