Brian Jordan hit a three-run homer and Thomson pitched five innings Tuesday night in the Braves' 10-2 victory over the Marlins, who tied a franchise record with their 11th consecutive home loss.
Thomson (1-2) lowered his ERA to 1.88 but won for the first time in six starts.
"The guy has been pitching great all year, and he came into the game 0-2," Jordan said. "It was good to get him some runs and make him feel comfortable."
Thomson, who awoke Tuesday morning with flu symptoms, gave up four hits and an unearned run. He also drove in a run with a single.
Brian Moehler (0-4) lost his 10th consecutive decision since last season. He gave up seven runs in 5 1/3 innings, hiking his ERA to 9.76.
Few have witnessed the Marlins' skid, and even with the perennial NL East champions in town, the game drew only 6,079 fans. One reason for the skimpy turnout: Florida is 2-13 at home.
"It stinks," said manager Joe Girardi, showing more exasperation than after other recent defeats. "We're a better team than what we've played. We should have won more games than we've won. Guys have to do a little soul-searching. It's time to say, 'How long am I going to continue to make the same mistakes?"'
Atlanta's Edgar Renteria was 0-for-11 lifetime against Moehler before he doubled in the first inning, extending his hitting streak to start the season to 23 games. Renteria, who came into the game leading the NL in batting, finished 2-for-5 to hike his average to .354.
Adam LaRoche drove in two runs, scored three times and went 3-for-5, hiking his average to .220.
"I still have a long way to go," LaRoche said.
Jeff Francoeur singled, scored twice and walked for the first time in 136 plate appearances this season.
"I was a little confused when the umpire told me to go to first base," Francoeur said with a grin.
The Braves totaled only 14 runs in Thomson's previous five starts, but he declined to complain.
"I know down the road there are going to be times when I give up four or five runs and the guys are going to score six or seven and bail me out," Thomson said.
Atlanta improved to 2-4 on its trip and broke a streak of five consecutive losses in Miami. The Braves trail the NL East-leading New York Mets by seven games.
"We feel it's time for us to get on a bit of a roll and win nine of 10," Francouer said.
Lately the Marlins are pushovers at home, where they last won on April 14. Their home losing streak matches the franchise record set from April 28 to May 19, 1999.
The New York Mets established the NL record of 15 consecutive home losses in 2002.
"Nobody feels sorry for us. It's just the way it is," Moehler said. "It's sports. We need to go out and play better."
The Braves became the first team to score 10 runs against Florida this season, despite waiting until the fifth to start. Moehler took a one-hitter and a 1-0 lead into the inning, but Francoeur led off with a single, LaRoche doubled and Jordan connected with a changeup for his third home run.
Jordan started for left fielder Ryan Langerhans, who was ill.
A Marlins opponent batted around for the fourth straight game, this time in a four-run sixth. After Francoeur walked to load the bases, LaRoche's two-run single ended Moehler's night. Thomson and Renteria singled runs home to make it 7-1.
Matt Diaz hit a two-run triple in the eighth that left fielder Josh Willingham appeared to lose in the lights.
Florida scratched out an unearned run in the first. Hanley Ramirez led off with a single, stole second and continued to third when catcher Brian McCann made an errant throw. Ramirez came home on a groundout by Miguel Cabrera.
Dan Uggla hit a sacrifice fly in the seventh off Chad Paronto, who joined the Braves hours before the game after starting the season at Triple-A Richmond.
Marlins RHP Franklyn German faced only one batter before leaving the game in the seventh inning with right shoulder tendinitis. He was to be placed on the 15-day disabled list Wednesday, and RHP Logan Kensing was to be recalled from Triple-A Albuquerque. ... Girardi decided to flip LHP Dontrelle Willis and RHP Sergio Mitre in their upcoming starts. Willis is now scheduled to face Atlanta on Thursday, with Mitre pushed back to Friday at Pittsburgh. ... The first rain delay of the season in Miami halted play for 29 minutes after the first inning. ... Moehler became only the second Marlins starter in the past seven games to pitch at least five innings.