Brian Elliott made 19 saves to help the Senators win for the 13th time in 14 games.
"I didn't have my best game and obviously with shooters like that, if you give them some empty space they're going to find the back of the net," said Elliott, who has won 11 of his 12 consecutive starts. "We just did a good job of putting pucks in the back of their net."
Ottawa moved into the division lead with 74 points, one ahead of Buffalo, which lost 4-3 in overtime at Carolina.
"It was a great test for us," said Phillips, whose scored early in the third to put the Senators ahead to stay. "We played one of the top teams in the game right now and we stuck with them. We didn't get intimidated by their offensive ability. They obviously showed it again tonight and we didn't get down, we battled back and that's what's so great about this team right now."
The Capitals lost their second straight after a team-record 14-game winning streak. On Wednesday night in Montreal, the Canadiens beat Washington 6-5 in overtime.
"We played back to back so a couple of guys are tired so we made a couple of mistakes, especially me," said Capitals captain Alexander Ovechkin, who extended his points streak to nine games with an assist on Jeff Schultz's goal 6:39 into the second.
Alexander Semin scored his third goal of the game -- his 29th of the season -- 13:37 into the third to draw Washington within one.
"They're never out of it," Spezza said. "Even once we were up 3-1 after one we knew we had a long night still ahead of us."
Capitals coach Bruce Boudreau was much less impressed with his team.
"It was an ugly display," Boudreau said. "I thought our defense was horrible and our goaltending was horrible. You're not going to win when you give up six goals and maybe five of them are bad ones and our 'D' can't make a play. It's awful."
Semyon Varlamov stopped 22 shots in his first game in more than two months.
"I don't think he was ready to play," Boudreau said. "He knew he was going to play. He's had 12 days of practice and a game under his belt. It's his responsibility to be ready. When you say, he's rusty, it's an excuse. And excuses aren't tolerated. The puck's going through his legs? He's been making that save since he was seven years old. Unless his memory banks have lost it.
"He should have made the saves. But the giveaways by our defensemen were more horrible than the goaltending, and I didn't think the goaltending was good."
Kovalev assisted on Phillips' seventh goal 2:23 into the third that put the Senators up 5-4. The Russian winger made it 6-4 with his 16th goal on a power play at 7:36.
Semin scored an unassisted goal with 6:23 remaining to make it a one-goal game.
"They've got a lot of weapons and it was good to come out on top," Phillips said.
Spezza had three points in the opening period, including his 11th goal in his last 11 games to open the scoring 6:03 in.
Michalek, who assisted on Kovalev's power-play goal in the third, scored his 20th to put the Senators up 2-0 at 10:09.
After Fleischmann drew Washington to 2-1 with his 18th goal 17 minutes into the first, Alfredsson restored Ottawa's two-goal lead when he put a shot from the right side past Varlamov for his 17th goal on a power play at 19:53.
Schultz scored his third goal 6:39 into the second. Semin scored at 15:17 and again at 15:59 as the Capitals scored three straight goals in the middle period to take a 4-3 lead. Neil drew Ottawa even at 4 with 1:56 left in the second.
- Both teams' Olympians were introduced prior to the game, five each from Washington and Ottawa. Capitals headed to Vancouver include Varlamov, Ovechkin and Semin (Russia), Fleischmann (Czech Republic) and Nicklas Backstrom (Sweden). Alfredsson is making his fourth straight appearance for Sweden. Also going from the Senators are Michalek and Filip Kuba (Czech Republic), Jarkko Ruutu (Finland) and Anton Volchenkov (Russia).
- Stephen Leach holds the record for the fastest two goals by a Capitals player. Leach scored twice in 10 seconds in a 7-3 victory against Pittsburgh on Nov. 23, 1990.