Jon Jay robbed Jay Bruce with a leaping catch at the right-field wall to end the fourth and made another fine grab on Edgar Renterias drive near the warning track with two men on in the seventh.
Carpenter (4-7) has won three straight starts, digging himself out of the worst hole of his career, and is 13-4 in his career against Cincinnati.
Phillies 1, Marlins 0 - Vance Worley pitched seven shutout innings and Philadelphia scored the only run on a close play in the seventh inning to beat Florida in Miami.
Michael Martinez, playing for an injured Shane Victorino, singled to center for his fifth RBI. Domonic Brown barely beat the throw home, although replay appeared to show he was tagged before touching the plate.
White Sox 5, Royals 4 - A.J. Pierzynski scored the winning run on a balk called on Aaron Crow in the ninth inning and host Chicago beat Kansas City after the Royals had tied it on Eric Hosmers homer that was first ruled a triple in the top of the inning.
Hosmer led off with what appeared to be a homer off White Sox closer Sergio Santos. Second base umpire Alfonso Marquez signaled the ball was in play as Hosmer advanced to third. Royals manager Ned Yost contested the call and moments after the review, Marquez signaled a homer.
Mets 5, Dodgers 2 - After being held hitless through five innings by Los Angeles rookie Rubby De La Rosa, visiting New York got RBI doubles from Angel Pagan, Carlos Beltran, and Daniel Murphy in the sixth.
Padres 5, Giants 3 - Will Venable hit his second home run of the season and visiting San Diego pounced on Tim Lincecum to beat San Francisco.
Pirates 5, Astros 3 - Rookie Alex Presley had three of host Pittsburghs 14 hits and the Pirates beat Houston to move three games over .500 this late in the season for the first time in 12 years.
Diamondbacks 8, Brewers 6 - Chris Young drove in the go-ahead run with a two-out single in the ninth and visiting Arizona overcame a grand slam by pitcher Shaun Marcum and rallied from a five-run deficit to beat Milwaukee.
Rangers 13, Orioles 4 - Endy Chavez had his first four-RBI game in more than eight years and Colby Lewis won his third straight decision for host Texas.
Twins 7, Rays 0 - Brian Duensing tossed a six-hitter and Danny Valencia homered among his three hits and had three RBIs to help host Minnesota rout Tampa Bay.
Mariners 2, Athletics 1 - Michael Pineda and three relievers combined on a three-hitter and Josh Bard hit his first home run of the season to lead visiting Seattle past Oakland.
Angels 5, Tigers 1 - Torii Hunter and Vernon Wells went deep to power host Los Angeles to its ninth win in 11 games.
Braves 4, Rockies 1 - Freddie Freeman homered twice to drive in three runs and Tommy Hanson combined with two relievers on a four-hitter to help Atlanta beat Ubaldo Jimenez and visiting Colorado.
Nationals 5, Cubs 4 - Jayson Werth scored on a wild pitch in the bottom of the 10th inning as Washington edged Chicago.