The Braves, who have won three of four and lead second-place Washington by 5½ games in the NL East, retired former All-Star third baseman Chipper Jones' number before the game.
Teheran (6-4) allowed four hits, one walk and struck out 10.
The NL West-leading Diamondbacks have lost three of four. They were shut out for the first time since losing 5-0 at San Francisco on Sept. 26, a span of 85 games.
Arizona's Randall Delgado (0-2) gave up eight hits, two runs and three walks in six innings.
PADRES 9, MARLINS 2
Logan Forsythe hit a two-run homer for the Padres and had three of their 15 hits. Edinson Volquez (6-6) gave up two runs in six innings for the Padres, who have outscored Miami 20-3 this season while winning all four games.
Nolasco (4-8), the subject of trade speculation, allowed six runs and 11 hits in five-plus innings to match or surpass his worst effort of the season in all three categories.
The Marlins' loss snapped a three-game winning streak that matched their longest this year.
NATIONALS 6, METS 4
Harvey struck out 11 and left with the Mets leading 4-1 after seven innings.
Ryan Zimmerman lined a three-run double with two outs in the eighth that made it 4-all. The Mets used four relievers in the inning, and still couldn't protect the lead.
Jayson Werth, who had struck out in all three at-bats against Harvey, hustled for a leadoff double in the ninth against closer Bobby Parnell (5-4). Desmond doubled down the right-field line and later scored on a sacrifice fly by Kurt Suzuki.
PIRATES 10, BREWERS 3
PITTSBURGH -- Gerrit Cole overcame a rocky start to become the first Pirates pitcher to win his first four career starts in more than a century and Starling Marte missed getting cycle a few feet short of a home run in a win over Milwaukee.
Cole (4-0) gave up three runs in the first inning but no more as he made it through six innings, allowing eight hits with three walks and three strikeouts. Nick Maddox started 4-0 in his first four starts in 1907.
Johnny Hellweg (0-1) failed to get out of the second inning in his major league debut, giving up seven runs -- five earned -- in 1 2-3 innings.
Marte had a double and triple among his three hits, and just missed a homer in the eighth when he flied out to deep center field.
ROCKIES 4, GIANTS 1
Chacin (7-3) earned his fourth straight win with another standout performance.
Buster Posey homered among his three hits for the Giants, who have lost five straight and seven of their last eight.
Giants starter Barry Zito (4-6) allowed four runs and 10 hits while striking out three in 5 1-3 innings.
Copyright 2013 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- Rangers take Seahawks QB Wilson in draft
- Cano thanks N.Y., finalizes big Mariners deal
- Rule 5 pick Nieto on Biogenesis clinic list
- Source: Joba, Tigers agree on 1-year deal