Ottawa won its fifth straight following a seven-game losing streak. Atlanta has dropped four in a row.
Heatley's second goal came just seconds after he and Corvo stepped out of the penalty box and were sent in on a 2-on-1 break. Corvo passed, Heatley converted.
Heatley was in the penalty box for mouthing off to the referee after Corvo was given a penalty for cross-checking 10 minutes into the third period. The Thrashers had just scored on a 5-on-3 advantage to make the score 5-3. The Senators faced another two-man disadvantage, this time for a full two minutes.
"It's the point in the game where we were a little bit frustrated after getting called for three or four [penalties] in a row," Heatley said. "I was joking with [captain Daniel Alfredsson] that if they scored on that 5-on-3 and they end up tying it up, you're a big goat. So it was nice to get a chance to score that goal."
Martin Gerber made his second straight start for Ottawa and wasn't tested often as the Thrashers had only six shots in each of the first two periods. He was busier in the third when the Thrashers had 13 shots and enjoyed nearly four minutes of 5-on-3 power-play time.
Ottawa was in control entering the third, holding a 5-2 lead and a 34-12 advantage in shots. The final shot total was 44-25.
Kovalchuk cut Atlanta's deficit to 5-3 with a shot from the point that flew past Gerber during the Thrashers' two-man advantage.
The Senators opened a 2-0 lead on goals by Foligno and Kelly.
Foligno opened the scoring 2:30 in when he lunged from behind the net to swipe in a loose puck in the crease. Chris Neil started the play by putting his own rebound off the post and then off the back of Hedberg.
Eight minutes later, Kelly jammed a pass from Vermette behind Hedberg for a 2-0 lead.
"They come very good at you offensively and we had to be ready for them," Thrashers coach Don Waddell said. "When we gave up that early goal, we became very fragile. We had opportunities to close the gap, and at 5-3 we had the power play and we couldn't score so that was a killer for us."
The Thrashers quickly got that goal back as Kovalchuk beat Gerber with a shot just 9 seconds after Kelly scored.
Meszaros restored the Senators' two-goal lead with a power-play tally four minutes later.
"The start was important for us. I think we took a little bit of their will away and they seemed like they were tired a little bit and we got on them," Spezza said. "We let them in the game a little bit at the end but then we got that big goal from Heater. After that we just sailed in."
Corvo and Heatley gave the Senators a 5-1 lead by the 8:21 mark and sent Hedberg to the bench.
Perrin scored late in the period after taking a nice cross-ice feed from newly acquired Mark Recchi and put a one-timer past Gerber.
The Senators have scored first in 20 of their 31 games and have an 18-1-1 record in those games. ... Spezza's first assist of the game was the 200th of his NHL career. He leads the NHL with 30 assists. ... The Thrashers have allowed only two power-play goals in nine games.