The 29 runs are tied for the second most in a game in the modern era (since 1900), just shy of the Texas Rangers' 30 against the Baltimore Orioles in 2007. The 1950 Red Sox and 1955 White Sox also scored 29 runs in a game.
"Pretty amazing," said Freddie Freeman, who drove in six runs with three hits, including a two-run homer. "Hard to put into words, really, when you look up and see 29 runs on the board."
A day after being shut out by the Marlins on four hits, the Braves broke loose. They had 23 hits, including seven homers, to score the most runs in Braves franchise history (Boston, Milwaukee and Atlanta) since 1900. They topped the old record by six runs.
Atlanta trailed Miami 2-0 heading into the bottom half of the second inning, when the Braves sent 14 batters to the plate and exploded for 11 runs.
He finished 3-for-4 with three homers and a franchise-record-tying nine RBIs. He also became the first player in Braves history with multiple three-homer games in a season; his previous one came last week in Boston.
"I've known that homers come in bunches, but something like that is pretty special," Duvall said. "I'm going to enjoy this one tonight."
"I've never seen an offense click like that, all together," Freeman said.
Freeman said he woke up to a text from manager Brian Snitker saying he would be hitting second Wednesday night. D'Arnaud served as the Braves' new cleanup hitter.
Freeman now expects to be hitting second again.
"I would assume so," Freeman said. "I think it would be very hard for him to change the lineup after scoring 29 runs."
The Braves scored 18 of their 29 runs by home runs, tying the MLB record for most runs scored via homers in a game, according to ESPN Stats & Information.
Lopez (3-4) took the loss after allowing seven runs in 1⅔ innings.
"He just seemed to be out of sync early in that game with the walks and wasn't getting anything really over," Marlins manager Don Mattingly said.
The biggest victim on the Marlins' pitching staff was reliever Jordan Yamamoto, who gave up 12 earned runs in 2⅔ innings. Yamamoto is just the second reliever over the past 70 years to allow 12 earned runs in an outing, joining Vin Mazzaro, who allowed 14 in a 2011 game.
The 20-run loss is the Marlins' largest margin of defeat in franchise history, according to ESPN Stats & Info.
The Associated Press contributed to this report.