Carlson assisted on Ovechkin's goal that gave Washington a 1-0 lead, and then the defenseman scored his 11th goal this season as the Capitals rebounded from a 7-1 loss in Chicago on Saturday.
Ovechkin now has 35 goals and is tops in the NHL in that category, two goals ahead of Pittsburgh's Evgeni Malkin.
Capitals backup goalie Philipp Grubauer got the start and was solid throughout, allowing only two third-period goals and making 32 saves.
The Capitals moved back into first place in the Metropolitan Division with the victory with 75 points, one ahead of Pittsburgh, which had taken the top spot with its victory on Sunday.
Washington now has scored a point in 25 of its last 32 games versus Buffalo, going 21-7-4 versus the Sabres during that time.
The Sabres have dropped three straight games and seven of 10 this month.
Ovechkin scored the first goal by deflecting a Christian Djoos shot past Buffalo goalie Chad Johnson 1:18 into the second period. Djoos fired one from the left point, and Ovechkin came across the front, lifted his stick and knocked it past Johnson.
Carlson made it 2-0 with 6:27 remaining in the period by poking the puck just over the line in the midst of a mad scramble on the edge of the crease -- despite three Buffalo players standing right there.
Kyle Okposo cut the lead to 2-1 on a goal for Buffalo with 7:18 left in the third period, but Evgeny Kuznetsov added a goal with 26 seconds left for Washington.
Evander Kane then scored for Buffalo with four seconds left, but it wasn't enough.
The Capitals made a trade earlier in the day, acquiring defenseman Michal Kempny from Chicago for a 2018 third-round draft pick.
Kempny, 27, had one goal and six assists in 31 games with the Blackhawks this season. Washington coach Barry Trotz said before Monday's game that he'll give Washington more defensive depth.
--Field Level Media
Washington | Buffalo | |
John Carlson 2 | Points | Evander Kane 1 |
John Carlson 1 | Goals | Evander Kane 1 |
John Carlson 1 | Assists | Ryan O'Reilly 1 |
N/A | Power Play Goals | N/A |
N/A | Short Handed Goals | N/A |
Philipp Grubauer .941 | Save Percentage | Chad Johnson .931 |
Philipp Grubauer 32 | Saves | Chad Johnson 27 |
Team | Shots | Goals | Power Play | Penalty Kill | Penalty Mins | Face Offs Won |
Washington | 30 | 3 | 0-1 | 3-3 | 6 | 35 |
Buffalo | 34 | 2 | 0-3 | 1-1 | 2 | 33 |