St. Louis, swept in its opening three-game series at Pittsburgh, avoided its first 0-4 start since 1997.
The homer by Diaz into the left field seats came on the second pitch from left-hander Eric O'Flaherty (0-2).
The Braves scored four runs on five hits off Jaime Garcia in the third inning but didn't have another hit.
Jaime Garcia pitched out of trouble after two errors by shortstop Jedd Gyorko -- one throwing, one fielding -- put runners on first and second with no outs in the first. Adonis Garcia hit into a double play to end the inning.
Jaime Garcia gave up four runs on five hits and three walks in six innings.
Wisler allowed four runs on seven hits and one walk in 6⅔ innings.
MILESTONE FOR MOLINA
Yadier Molina passed Ted Simmons' team-record 1,439 games played at catcher. The milestone came less than one week after Molina also passed Simmons' Cardinals record for starts at catcher.
Braves: Ender Inciarte left the game with tightness in his left hamstring after reaching on Gyorko's throwing error in the first inning. Inciarte's status is day to day. Drew Stubbs replaced Inciarte as a pinch-runner and in center field.
Cardinals: RHP Carlos Martinez will make his first start this season in Saturday night's game against the Braves. Martinez has made only one career start against Atlanta, allowing six hits in eight scoreless innings in a 1-0 Cardinals win on July 25, 2015.
Braves: RHP Julio Teheran will make his second start after receiving a no decision while allowing two runs in six innings against Washington. Teheran is 1-1 with a 1.89 ERA in three career starts against the Cardinals, including six scoreless innings in a 2-0 win in the final regular season series last year.
Rockies' win over Nationals powered by 2 home runs
Brendan Rodgers and Trevor Story both hit home runs to lead the Rockies to a 6-0 win over the Nationals.
Candelario and Garneau homer, Tigers beat Rays 4-3
— Jeimer Candelario and Dustin Garneau homered to lead the Detroit Tigers over the AL East-leading Tampa Bay Rays 4-3 on Saturday.
Jeimer Candelario's 3-run jack gives Tigers early lead
The Tigers jump out to an early 3-0 lead over the Rays in the top of the first inning as Jeimer Candelario cranks a three-run shot to center field.
New York Mets, Philadelphia Phillies minor leaguers protest low pay with wristbands
Minor league players in the New York Mets and Philadelphia Phillies farm systems are wearing wristbands Saturday to protest pay that they say is insufficient.
Semien's 40th homer lifts Blue Jays back into playoff spot
— Marcus Semien became the fifth second baseman to hit 40 home runs in a season, and the Toronto Blue Jays moved back into a playoff position by beating the Minnesota Twins 6-2 Saturday.
Marcus Semien crushes his 40th HR of the season
Marcus Semien goes deep for the 40th time this season to get the Blue Jays on the board.