CHICAGO — Brian McCann homered twice and the Atlanta Braves beat the Chicago Cubs 8-3 Thursday.

McCann hit a three-run homer in the first and a solo shot in the seventh for his eighth career multi-homer game. Michael Bourn had a career high-tying four hits, scored two runs, and drove in a run.

Marlon Byrd homered and Tyler Colvin added a triple and a run for the Cubs, who committed four errors.

Brandon Beachy (7-2) won his fourth straight decision, recovering from a shaky start to pitch six innings. He allowed six hits, two earned runs and struck out eight.

Matt Garza (6-10) allowed six runs — three earned — and eight hits over five innings. He struck out six.

The Braves took three of four from the Cubs and have won 16 of their last 21 games. Atlanta won its NL-high 38th road game.

Garza was coming off one of his best starts of the season in a 3-0 win over St. Louis last Saturday.

After Bourn led off the game with a single, Martin Prado reached when Garza dropped a flip from Carlos Pena at first. Garza then fell behind McCann, who homered into a stiff wind in right-center and put the Braves ahead 3-0 before Garza had retired a batter.

Prado reached on errors twice in the game, doubled, walked and scored two runs.

The Cubs cut into the lead on Darwin Barney's groundout in the bottom of the first. In the second, Byrd brought Cubs within a run with a homer to left. Colvin tripled into the right-field corner and scored on Geovany Soto's dribbler, tying the game at 3.

The Braves grabbed the lead right back with two runs in the third with help from the Cubs. Castro committed his NL-high 22nd error of the season and Garza walked Dan Uggla with the bases full. Freddie Freeman's RBI single drove in the other run.

The Braves tacked on a run in the fifth on Jason Heyward's sacrifice fly and another on McCann's solo shot in the seventh. McCann leads NL catchers with 22 home runs on the season.

Bourn drove in a run in the eighth with his fourth single of the game, giving him his sixth career four-hit game. Bourn's 160 hits are second in the NL to Castro's 167.

The Cubs have committed 108 errors this season, most in the majors. Four of Atlanta's runs were unearned.

NOTES: Cubs OF Alfonso Soriano was given a day off on Thursday after he was hit in the right forearm by a pitch during Wednesday's game. Manager Mike Quade said Soriano was available for pinch-hitting duty and is expected to return to the lineup on Friday. . Braves RHP Tommy Hanson left the team and returned to Atlanta to have his ailing shoulder re-evaluated by team doctors. Hanson has been on the disabled list since Aug. 7 because of right rotator cuff tendinitis. . Manager Fredi Gonzalez said the Braves are "closely monitoring" Hurricane Irene and the effect it might have on this weekend's series in New York against the Mets. . The Braves open a three-game series at New York on Friday, pitting RHP Tim Hudson against Mets lefty Chris Capuano. Hudson has won eight of his last nine decisions. . The Cubs will make the short trip north to face the first-place Brewers in Milwaukee this weekend, with Chicago RHP Rodrigo Lopez squaring off against LHP Randy Wolf in Friday's opener. . Chicago's Aramis Ramirez doubled in the eighth, his 700th career extra-base hit, and extended his hitting streak to 14 games.