Dioner Navarro's solo shot came two batters after Heisey's two-run drive put Cincinnati ahead. Brandon Phillips added a two-run homer in the eighth and Heisey capped the scoring with a solo homer two outs later.
The NL Central leaders swept the three-game series and sent the reeling Diamondbacks to their sixth straight home loss.
Mat Latos (11-4) pitched seven innings, allowing two runs and five hits with seven strikeouts. He also had two hits in his first win since Aug. 3 against Pittsburgh and his first at Arizona since August 2010.
Cincinnati trailed 2-0 until the seventh, shut out on two hits by Patrick Corbin (5-6). Todd Frazier doubled with one out and scored on Heisey's fifth home run.
The Diamondbacks lost eight of 10 on their homestand.
DODGERS 10, ROCKIES 8
DENVER (AP) — Joe Blanton pitched into the eighth inning for his first win with Los Angeles and A.J. Ellis hit his first career grand slam in a victory over Colorado.
Hanley Ramirez, another midseason acquisition by the Dodgers, homered in his second straight game to help Los Angeles overcome Matt Kemp's absence and withstand Colorado's seven-run eighth.
Kemp sat out because of a bone bruise on his left knee and a sore jaw after he crashed into the outfield wall the night before. He is day to day.
Blanton (9-12), who was 0-3 with a 7.71 ERA in four previous starts since joining the Dodgers in an Aug. 3 trade with Philadelphia, struck out five in 7 1/3 innings. It was his first win since July 16 when he beat the Dodgers for the Phillies.
Ronald Belisario got five outs for his first save since Sept. 29, 2010, also against Colorado.
Drew Pomeranz (1-8) lost his fifth consecutive decision.
PIRATES 5, CARDINALS 0
PITTSBURGH (AP) — Pedro Alvarez kept up his recent tear, hitting his 26th homer and driving in three runs as Pittsburgh rolled to a victory over St. Louis.
Alvarez, who homered twice on Tuesday, added to his season-long dominance of the Cardinals. His three-run shot in the third gave him seven home runs and 23 RBIs in 15 games against St. Louis this year as the Pirates moved within one game of the NL's second wild-card spot.
Wandy Rodriguez (9-13) worked six tidy innings to pick up his first victory as a starter since being acquired by Pittsburgh in a trade last month. He walked three and struck out three while helping the Pirates shut out the Cardinals for the second straight night.
Joe Kelly (4-6) battled control problems during five rocky innings, giving up five runs on eight hits.
NATIONALS 8, MARLINS 4
MIAMI (AP) — Bryce Harper homered twice for the first time in his career and first-place Washington snapped a five-game losing streak by beating Miami.
Harper hit a two-run homer in the fourth inning and a solo shot in the fifth, giving the rookie 14 this season. He had a chance for a three-homer night but grounded into a double play in the ninth, spiked his helmet in frustration after crossing the bag and was ejected by umpire C.B. Bucknor.
Before the game, manager Davey Johnson called a brief team meeting, which he described as upbeat. The pep talk stirred the Nationals' bats, and they had 14 hits.
Kurt Suzuki hit his first homer with Washington and Ross Detwiler (8-6) allowed three runs in 5 2-3 innings. Drew Storen came on with runners at second and third in the eighth and retired three consecutive batters to protect a 6-4 lead.
Miami rookie Jacob Turner (0-2), auditioning for a job next year, allowed five runs in five innings.
PADRES 8, BRAVES 2
SAN DIEGO (AP) — With their new owners watching, Chase Headley and the Padres beat Atlanta for their ninth win in 10 games.
Headley hit a two-run single and left-hander Eric Stults (4-2) won his fourth straight decision as the Padres took two of three from the Braves, who lead the NL wild-card race.
The third generation of the O'Malley family was introduced at a news conference earlier Wednesday, promising to run the Padres in the same first-class manner that Walter and Peter O'Malley once ran the Dodgers. The new ownership group includes Peter O'Malley's sons, Kevin and Brian, and nephews Peter and Tom Seidler. It also includes San Diego businessman Ron Fowler, the executive chairman who has been designated as the team's control person. The group bought the Padres for $800 million from John Moores.
Headley's two-run single in the fifth off Tommy Hanson (12-7) gave San Diego a 4-1 lead.
METS 3, PHILLIES 2
PHILADELPHIA (AP) — Lucas Duda hit a two-run homer, Matt Harvey had another sharp outing and New York beat the Phillies for its fourth straight win.
The Mets have won five straight in Philadelphia and seven of eight overall this season.
Harvey (3-3) allowed two runs and six hits, striking out six in 6 1/3 innings. He also had an RBI single. The rookie has a 2.76 ERA in seven starts.
Tyler Cloyd (0-1) yielded three runs over six innings in his major league debut while filling in for Cole Hamels, scratched from the start because of a gastrointestinal illness.
Cloyd allowed three runs and seven hits in six innings. The 25-year-old righty was 15-1 with a 2.26 ERA in the minors this season, including 12-1 with a 2.35 ERA at Triple-A Lehigh Valley.
Josh Edgin, Robert Carson and Jon Rauch combined to get five outs before Frank Francisco finished for his 22nd save in 25 tries.
BREWERS 3, CUBS 1
CHICAGO (AP) — Mike Fiers tossed 7 1/3 solid innings to lead Milwaukee to its eighth straight victory over Chicago.
Fiers (8-6) held the Cubs to four hits and struck out six, helping Milwaukee beat its division rival for the 13th time in 16 meetings this season. The Brewers have won eight of nine overall and moved within five games of .500 for the first time since July 21.
Fiers sent down 14 straight batters at one point and won his second straight start, but Milwaukee's streak of eight straight games with at least 10 strikeouts came to an end. It was the longest such streak since 1900.
John Axford finished for his 22nd save in 30 chances.
Jeff Samardzija (8-12) gave up seven hits and three runs — two earned — in seven innings. He struck out 10.
Jean Segura stroked a go-ahead single in the seventh and scored an insurance run when Chicago committed two errors after he stole second base. The bumbling Cubs have dropped 22 of 28 and fell 31 games under .500, their worst mark since Sept. 30, 2006.
GIANTS 6, ASTROS 4
HOUSTON (AP) — Hunter Pence hit a three-run homer and Joaquin Arias drove in two with a triple to help San Francisco beat Houston.
Pence has been an Astros nemesis since they traded him in July 2011, hitting four homers in seven games against his former team with the Phillies and Giants.
The crowd of 13,207 was the smallest in the history of Houston's 12-year-old ballpark. The previous low came a night before.
George Kontos (1-0) struck out four in 2 2-3 scoreless innings for the win after Barry Zito yielded seven hits and three runs in a season-low 2 1-3 innings. Javier Lopez got two outs for his fifth save.
Dallas Keuchel (1-7) retired 14 in a row after Pence's homer. The Astros, who own the worst record in the majors, have lost four straight and 11 of 12.