ATLANTA -- Tim Hudson gave up three hits in eight innings and Martin Prado hit two home runs to lead the Atlanta Braves past the Arizona Diamondbacks, 13-1 on Sunday.

Prado had four hits and drove in three runs, while Eric Hinske and Troy Glaus also had homers for Atlanta. The Braves finished with 14 hits while Arizona managed only the three.

Hudson (4-1) improved to 3-0 in May with his longest start of the season. He struck out six and walked only one batter. Hudson's catcher in his first career start with Oakland on June 8, 1999, was A.J. Hinch, who was in the other dugout as Arizona's manager.

Hudson also had two hits, including a run-scoring double. Hinske continued to take advantage of increased playing time with Matt Diaz on the disabled list, driving in four runs with two hits, and Glaus kept up his hot May with three hits.

Eric O'Flaherty pitched a perfect ninth to complete the three-hitter. The Diamondbacks left only one runner on base.

The Braves have won five of six, the lone loss coming to Arizona on Saturday night. The Diamondbacks have lost eight of nine.

Hinch, recalling his time with Hudson in Oakland, said before Sunday's game that the right-hander "is a good example of what's right in our game today."

A smiling Hinch then added, "And I hope he gives up 10 runs today."

Instead, Hinch's pitchers gave up more than 10 runs.

Dan Haren (4-3) lasted only 4 1-3 innings after throwing at least six innings in each of his first eight starts. Haren gave up eight hits and seven runs, six of them earned. He trailed only 3-1 before giving up four runs on four hits in the fifth.

Prado helped Hudson with a defensive highlight in the eighth. After Chris Young singled for Arizona's third hit, John Hester hit a soft fly ball into shallow right field. Prado made the catch running toward the outfield and threw back to first base from his knees for a double play.

Glaus led off the eighth with a homer off the top of the center-field wall off Bob Howry. After hitting only .194 in April, Glaus has two or more hits in eight of his last 14 games to lift his average to .283.

Prado led off the first with a homer into the second row of the left-field seats. Jason Heyward followed with a walk, moved to third on a broken-bat, hit-and-run single by Glaus and scored on Hinske's fly ball to center field.

Adam LaRoche singled and later scored on Young's fielder's choice grounder in the second. Hudson then recorded 12 straight outs.

Heyward reached on LaRoche's fielding error to begin the Braves' four-run fifth. LaRoche was charged with a second error on runner obstruction when he blocked the basepath between first and second, forcing Heyward to return to first.

Glaus had a run-scoring single before scoring on Hinske's first homer of the season. The Braves added another run on back-to-back doubles by Yunel Escobar and Nate McLouth to knock Haren out of the game.

Prado hit his second homer off Cesar Valdez in the sixth. Hinske added a run-scoring single later in the inning.

NOTES: Prado had his first leadoff homer and two-homer game of his career. ... Hinch said RHP Billy Buckner will be recalled from Triple-A Reno to start for Arizona on Tuesday at Florida. Buckner was 4-6 with a 6.40 ERA with Arizona in 2009. ... RHP Kris Benson, attempting a comeback, will start a game in Arizona's extended spring training on Wednesday. ... The Braves activated LHP Jo-Jo Reyes (knee) and optioned him to Triple-A Gwinnett, where he will work as a starter.