The NL Central-leading Reds sent Houston to its eighth straight loss.
Cordero (3-6) got his first save chance since being acquired in a trade with Toronto last week. Stubbs hit a two-run homer for a 3-2 lead and Xavier Paul added an RBI single.
Justin Maxwell's two-run homer in the fourth gave Houston a 2-0 lead. Brandon Phillips doubled and scored on Paul's single in the Cincinnati sixth, his third hit.
Zack Cozart singled with one out in the Reds ninth and Stubbs hit his 10th home run. Jay Bruce drew a two-out walk, moved up on a wild pitch and after Scott Rolen walked, Paul singled.
Cincinnati closer Aroldis Chapman allowed a hit in a scoreless ninth for his 18th save.
Reds starter Mike Leake (4-6) scattered seven hits and two runs over eight innings for his first win since his pitched a complete game on June 29.
METS 5, NATIONALS 2
NEW YORK (AP) — Adam LaRoche and Washington handed R.A. Dickey his first loss in three months, beating New York behind Gio Gonzalez's seven crisp innings.
LaRoche hit a tie-breaking homer and Gonzalez (13-5) gave up only two singles in a rematch of All-Star pitchers, five days after New York hit him hard to back Dickey during his 13th win.
Dickey (13-2) allowed five consecutive hits in the sixth, ending his 11-game winning streak, as the Mets lost their fifth straight and 11th in 12 games. Their lone victory since July 7 was Dickey's 9-5 win over Gonzalez last Thursday in Washington.
Ryan Zimmerman extended his hitting tear with three hits and the Nationals won their fourth straight to improve the NL's best record to 57-39. They are 8-3 against the Mets this season.
Gonzalez struck out four, walked two and did not allow an earned run. Sean Burnett got three outs in the eighth and Tyler Clippard fanned two in a perfect ninth, finishing the three-hitter for his 17th save.
Jordany Valdespin set a Mets record with his fifth pinch-hit homer of the season.
CUBS 5, PIRATES 1
PITTSBURGH (AP) — Paul Maholm pitched eight strong innings to win his fifth straight start for Chicago.
Maholm gave up one run and four hits in handing the Pittsburgh its first consecutive home losses since May 22-23. He struck out seven and walked one.
Maholm (9-6) has allowed just four earned runs in 38 1-3 innings during his winning streak for an 0.94 ERA in that span. The left-hander spent his first seven seasons with the Pirates before signing with the Cubs as a free agent last winter.
Starlin Castro and Alfonso Soriano both homered off James McDonald (10-4), who had his career-high five-game winning streak snapped. David DeJesus hit a tie-breaking two-run double for Chicago, which had totalled just three runs in its previous four games.
PHILLIES 7, BREWERS 6
PHILADELPHIA (AP) — Hunter Pence singled in the go-ahead run after Carlos Ruiz hit a tying, three-run double and Philadelphia rallied with six runs in the eighth inning.
A night earlier, the Phillies scored four runs in the ninth off Francisco Rodriguez to beat Milwaukee by the same score.
The Brewers wasted a sensational outing by Zack Greinke, who outpitched and homered off Cliff Lee.
Greinke allowed one run and three hits, striking out five. He retired the last 14 batters he faced, but left after seven innings with the Brewers up 6-1 only to see them lose their season-worst fifth straight.
Pinch-hitter Eric Kratz got the Phillies started in the eighth with a two-run homer off Manny Parra to cut it to 6-3. Shane Victorino, Chase Utley and Ryan Howard worked consecutive two-out walks to load the bases.
Kameron Loe (4-4) entered to face Ruiz, who ripped a 1-2 pitch to the gap in left-centre to clear the bases. Pence followed with a looping RBI single to right.
Michael Schwimer (1-1) pitched a scoreless eighth to earn the win. Jonathan Papelbon finished for his 22nd save in 25 tries.
Ryan Braun, who hit league-leading 27th, Carlos Gomez and Aramis Ramirez also hit homers off Lee.
Lee gave up six runs and 12 hits in seven-plus innings.
BRAVES 4, MARLINS 3
MIAMI (AP) — Tim Hudson pitched seven innings and Jason Heyward drove in two runs for Atlanta.
Martin Prado and Freddie Freeman both drove in a run for the Braves, who snapped a three-game losing streak.
Jose Reyes homered and drove in two runs for the Marlins as he extended his hitting streak to 12 games.
After issuing the home run to Reyes in the second inning, Hudson (9-4) retired 16 straight before he was relieved. Hudson allowed five hits and three runs. He improved to 13-4 in 24 starts against the Marlins.
Heyward broke a 3-all tie in the seventh inning with an RBI single off Wade LeBlanc (1-1) that scored Prado, who tripled to lead off the inning.
Craig Kimbrel pitched the ninth for his 29th save in 30 chances.
Mark Buehrle walked a season-high four batters. He allowed three runs — two earned — and five hits in five innings.
CARDINALS 8, DODGERS 2
ST. LOUIS (AP) — Adam Wainwright got his first two RBIs of the season and St. Louis beat Clayton Kershaw and ended Los Angeles' five-game winning streak.
Wainwright (8-10) allowed two runs and seven hits with seven strikeouts in 7 1-3 innings.
He was a career .223 hitter entering the year with five homers and 23 RBIs but was batting .079 (3-for-38) with three singles and 17 strikeouts this season.
Wainwright doubled to left-centre with two outs in the fifth for St. Louis' first run, then scored the tying run on Rafael Furcal's single. After Daniel Descalso was intentionally walked to load the bases in the sixth, Wainwright walked on five pitches to give the Cardinals a two-run lead in a six-run sixth that put them up 8-2.
The Cardinals have won four of five.
Clayton Kershaw (7-6) gave up eight runs and seven hits in 5 2-3 innings, the second-most runs ever allowed by the 2011 NL Cy Young winner.
DIAMONDBACKS 6, ROCKIES 2
PHOENIX (AP) — Joe Saunders scattered three hits over seven innings and Chris Young homered to help Arizona to its fifth straight win.
Stephen Drew and Willie Bloomquist added RBI doubles and Miguel Montero had a two-run single for the Diamondbacks, winners of eight straight at home.
Young also singled, walked twice, stole a base and scored two runs.
Saunders (5-6) allowed only a single to reliever Josh Roenicke in the fifth and solo home runs to Michael Cuddyer in the fourth and sixth en route to his first win since June 10.
Saunders struck out nine and walked one.
Edwar Cabrera (0-2), who was recalled from Triple-A Colorado Springs earlier Tuesday, lasted only 3 1-3 innings and allowed two runs, four hits and four walks.
Colorado has lost three straight and six of seven.
GIANTS 3, PADRES 2
SAN FRANCISCO (AP) — Brandon Crawford singled home the winning run in the ninth inning and San Francisco won its ninth in 11 games since the All-Star break.
Brandon Belt walked to open the ninth and Angel Pagan singled. Both runners moved up on a wild pitch ahead of Crawford's single against Joe Thatcher (0-4).
Santiago Casilla (4-4) pitched the ninth for the victory.
Jesus Guzman had two hits and drove in a run for the Padres, who have lost 17 of their last 22 against the Giants.
Edinson Volquez allowed two runs and three hits over seven innings. He walked three and struck out eight. He also drove in a run. Volquez is 3-0 over his last six starts with a 1.56 ERA.
Giants starter Madison Bumgarner gave up two runs and six hits, walking two and striking out nine.