Phoenix, AZ (SportsNetwork.com) - Jason Heyward threw hit bat out on a 94 mph fastball and smacked it the other way for a homer.
Brandon McCarthy said he was using the outside pitch to set up something else.
"It was a pitch I didn't expect to get hit on," McCarthy said. "He took a swing and hit a home run."
The two-run blast was one of three hits by Heyward, who had three RBI on Friday night as the Atlanta Braves beat the red-hot Arizona Diamondbacks 5-2 to open a three-game series.
Heyward scored three times, including the go-ahead run on Andrelton Simmons' double in the seventh inning, and Jordan Schafer added three hits as Atlanta snapped a two-game slide.
Julio Teheran (6-3) entered the game with the third-lowest ERA in the majors and picked up his fourth straight win, striking out seven in seven innings and giving up two runs on five hits and a walk.
"Pretty good, wasn't he?" said Arizona manager Kirk Gibson. "His ball moves all over, he varies his speed on all of his pitches. He threw the ball well against us tonight."
Braves closer Craig Kimbrel struck out Martin Prado with a runner on second base to end the eighth inning and picked up a four-out save, his 16th of the season.
Arizona was chasing a what would have been a season-high fourth straight win after sweeping Colorado by scoring 32 runs in three games.
Didi Gregorius hit a solo homer in the loss and McCarthy (1-8) allowed three runs on nine hits and a walk over 6 1/3 innings to remain winless in his last six starts.
McCarthy had nine strikeouts and drove in a run for his first career RBI.
Heyward drew a one-out walk in the seventh and scored on Simmons' double into the left-field corner to give the Braves a 3-2 lead and chase McCarthy from the game.
Atlanta scored two insurance runs in the top of the ninth on RBI singles by Heyward and Justin Upton. The Braves might have scored more if not for Gerardo Parra's diving catch on Simmons' line drive.
Kimbrel was happy to have the extra runs.
"It always makes it easier," he said. "One-run game, one pitch could be the difference in the game, so making it a three-run game makes a difference."
Earlier, Gregorius led off the bottom of the first inning with his second homer of the season to give the Diamondbacks a 1-0 lead. It was their only hit in the first four innings.
Gregorius became the first Diamondbacks player to hit a leadoff home run in consecutive starts.
Schafer doubled to start the fifth inning for Atlanta and Heyward smacked his sixth homer of the season to left field with one out to put the Braves in front.
"Not many people can hit that ball out," said Gibson.
McCarthy bounced a game-tying single through the left side in his 70th MLB at- bat to score David Peralta, who led off the bottom of the fifth with a ground- rule double.