"The result definitely we don't like," Buffalo coach Phil Housley said. "We want to win at home here, but against a really good hockey team, I can't fault our guys for the effort."
Carlson gave the Capitals a 2-0 lead at 13:33 of the second period when his wraparound shot trickled over the goal line for his 11th goal.
It initially was ruled no goal on the ice after Okposo kicked the puck away from the goal line, but video review showed the puck completely crossed the line.
"It really started with puck control and getting the puck to the net," Capitals forward T.J. Oshie said. "I don't know where John came from or how he got behind the net, but it worked out."
Okposo made it 2-1 at 12:42 of the third period when a shot by Scott Wilson deflected off of him for his 10th goal.
"I was just trying to battle to get to the net," Okposo said. "[Evan Rodrigues] made a great play and it hit me in the back of the leg. [I'll] take it, but I thought we did a lot of that in the third period. We just got pucks and bodies to the net. We do need more of that."
Evgeny Kuznetsov scored an empty-net goal at 19:34 of the third period to make it 3-1.
Kane scored his 19th goal at 19:56 to make it 3-2.