ST. LOUIS — Matt Carpenter had four hits and scored the winning run on Matt Holliday's single in the 12th inning, helping the St. Louis Cardinals beat the Pittsburgh Pirates 6-5 on Thursday for their second extra-inning triumph over the NL Central leaders in three days.
The Cardinals took two of three in the series to pull within two games of the sagging Pirates, who have dropped five of six. St. Louis won 4-3 in 14 innings in the series opener on Tuesday night.
Rookie Kevin Siegrist (1-1), St. Louis' seventh pitcher, struck out two in a perfect 12th against the heart of the order.
Russell Martin and Clint Barmes homered for Pittsburgh, which blew a 4-0 lead in one inning. Jose Tabata had three straight hits after entering as a pinch hitter.
Carpenter sparked the winning rally with a one-out walk. He went to third on Jon Jay's single before Holliday grounded a single up the middle off Bryan Morris (5-6).
Giants 4, Nationals 3
At Washington, pinch-hitter Hector Sanchez hit a three-run homer with two outs in the ninth inning, helping San Francisco get the win.
Down to his last strike, Sanchez connected off closer Rafael Soriano (2-3) on a full-count pitch. The drive landed just inside the right-field foul pole in the second deck.
Sergio Romo got three outs for his 29th save. Javier Lopez (2-2) pitched 12/3 scoreless innings of relief for the win.
The loss snapped Washington's five-game winning streak and spoiled Dan Haren's six-inning, one-run effort.
Ian Desmond doubled home two runs and Jayson Werth added two hits for the Nationals.
Reds 2, Brewers 1
At Milwaukee, Joey Votto hit a tiebreaking homer in the sixth inning and Tony Cingrani pitched solidly into the seventh, lifting Cincinnati over Milwaukee.
Cingrani (6-2) allowed only a second-inning home run to Khris Davis. Aroldis Chapman worked the ninth for his 30th save in 34 chances.
The Reds have won five straight and 10 of 13. Their starters are 4-1 with a 1.35 ERA in the last seven games.
Mets 4, Padres 1
At San Diego, Marlon Byrd lined a two-out double over a hesitant right-fielder Chris Denorfia's head in the eighth inning, Mets outfielders saved two runs with outstanding plays and New York snapped a three-game skid by beating San Diego.
Zack Wheeler struck out a career-high 12 for New York. Eric Young Jr. saved a homer by leaping above the wall and knocking the ball back onto the field in the third inning. Center fielder Juan Lagares then threw out a runner at home plate in the fifth.
Tigers 4, Royals 1
At Detroit, Prince Fielder homered for the first time in three weeks, hitting a two-run shot in the first inning to help the Detroit Tigers to a victory.
Andy Dirks added two doubles and two singles for the AL Central-leading Tigers, who took the opener of this five-game series with third-place Kansas City.
Ashland native Jeremy Guthrie (12-9) allowed four runs and 13 hits in seven innings.
Rays 7, Mariners 1
At St. Petersburg, Fla., Alex Cobb pitched five strong innings in his first big league game since being hit in the head by a batted ball two months ago and the Rays beat the Mariners.
Cobb (7-2) ended his night by striking out Nick Frankiln on a full-count pitch with the bases loaded and two outs in the fifth. He received a standing ovation as he walked off the field. The right-hander gave up one run and three hits, striking out six and walking two,
Wil Myers, who had four RBIs, drove in two with a double and Evan Longoria added a two-run homer off Joe Saunders (10-12) that put the Rays up 5-1 in the fifth.
Angels 8, Yankees 4
At New York, Chris Nelson hit his first two home runs of the season, including a grand slam against his former team, to send C.J. Wilson and the Angels past the Yankees.
Josh Hamilton and rookie J.B. Shuck each had an RBI single to help the struggling Angels prevent a four-game sweep. Wilson (13-6) won his fifth consecutive decision, keeping Alfonso Soriano in the ballpark after the streaking slugger piled up four homers and 13 RBIs the previous two nights.
Soriano extended his sensational tear, going 4 for 5 with an RBI single, but the Yankees managed little else until a three-run ninth.
Athletics 5, Astros 0
At Oakland, Calif., Sonny Gray struck out nine on the way to an impressive first major league victory, using Nate Freiman's two-run homer and four RBIs to lead the Athletics to a victory over Houston that averted a three-game sweep by the lowly Astros.
The 23-year-old Gray (1-1) allowed four hits and walked one over eight innings, throwing 118 pitches in his second career start and fourth big league appearance.
Oakland jumped on Erik Bedard (3-9) in a hurry. He dropped to 0-6 over eight starts since a win against St. Louis on June 26.
Blue Jays 2, Red Sox 1
At Toronto, pinch-hitter Mark DeRosa hit a tiebreaking sacrifice fly in the seventh inning, Mark Buehrle pitched seven innings to win his fourth straight decision and the Blue Jays beat the Red Sox.
Buehrle (9-7) came in 0-4 with a 4.97 ERA in his previous eight starts against the Red Sox, a team he hadn't beaten since Sept. 7, 2009, with the White Sox. The left-hander allowed one run and 10 hits, walked two and struck out four.
Twins 4, White Sox 3
At Minneapolis, Chris Herrmann's pinch-hit single in the bottom of the ninth scored pinch-runner Doug Bernier and lifted Minnesota to a victory over the White Sox.
The Twins trailed 3-2 heading into the eighth, but Joe Mauer doubled and scored on a base hit from Justin Morneau to tie it. Herrmann came through against Ramon Troncoso (1-4) in the ninth to complete the comeback.
Trevor Plouffe hit a solo homer and Mike Pelfrey gave up three runs and struck out four in 61/3 innings for the Twins.
Jared Burton (2-6) pitched the ninth for the win.