The Braves have won 10 home series and split another since their last home-series loss against Philadelphia on April 20-22.
Hanson (8-5) limited the Marlins to one unearned run, five hits and two walks with eight strikeouts. (He also hit two batters, raising his league-leading total to 10.)
It was a dramatic turnaround after the young right-hander was rocked for 21 hits and 14 earned runs in 7 1/3 innings during his previous starts against Detroit and the Chicago White Sox.
"It felt great," said Hanson, who adjusted his delivery after pitching coach Roger McDowell made a point in the video room. "I felt good with all my pitches, and we got the win.
"It's a good way to bounce back after those last two I had."
McDowell noticed that Hanson wasn't getting his pitching hand out of his glove and behind his body quickly enough as he stepped toward home plate. As a result he wasn't able to get his hand high enough overhead.
He showed Hanson the difference in his hand position in his past two starts and last season. After correcting the problem, Hanson was able to get "on top" of his pitches again Saturday, and his slider was particularly more effective.
He threw 71 strikes in 106 pitches, and Hanson worked out of a bases-loaded, one-out jam in the sixth inning by striking out Cody Ross and Ronny Paulino.
"Really good ballgame for Tommy," Braves manager Bobby Cox said. "I think he had 21 out of 29 first-pitch strikes today, and that's huge for him. I think that's the key to pitching to begin with.
"His breaking stuff was outstanding, and he was around the plate, although he hit two guys. He had his overpowering stuff today. The sixth inning, he really bore down and got out of it with the strikeouts."
Hanson also struck out the first two batters in the seventh, before giving up a Chris Coghlan single and walking Gaby Sanchez. He left to a standing ovation from a crowd of 30,148, and reliever Peter Moylan entered the fray.
The Aussie sidearmer struck out Hanley Ramirez looking to end the threat.
"Moylan came in with two outs, with runners on, and got a tough strikeout against the guy who led the league in hitting last year," Cox said.
Billy Wagner had two strikeouts in a perfect ninth inning for his 17th save, after giving up a tying homer to Sanchez in the ninth inning of Friday's 11-inning Braves win.
The Braves took control in the fourth inning against Marlins starter Anibal Sanchez (7-5). They got a leadoff walk by Chipper Jones and a surprising bunt single from McCann. One out later, Infante hit an RBI single.
"I'm his biggest fan," Blanco said of Infante, whose two-run, 11th-inning single Friday gave the Braves a walk-off win. "Omar is my hero. He's unbelievable."
Yunel Escobar followed Infante with a double for the go-ahead RBI, then Blanco singled to center to put the Braves ahead 4-1.