Cam Atkinson scored two goals, and Ryan Murray, Riley Nash and Oliver Bjorkstrand also scored for Columbus (12-14-4), which has won five of its past six against the Capitals, including three straight in Washington.
"Like I told the team before the game, we play well in this building. We have," Blue Jackets coach John Tortorella said. "We get a lead, we get a couple of puck bounces, a little bit puck luck. The best part of the game tonight, I thought we had some really good sticks, our checking, and we find a way."
WATCH: [All Blue Jackets vs. Capitals highlights]
Nicklas Backstrom had a goal and an assist in his return after missing eight games because of an upper-body injury for Washington (22-5-5), which had won six straight. Braden Holtby made 33 saves.
"We've been so consistent for so many games that at some point you're going to have something that you don't [like]. We don't like [this] game," Capitals coach Todd Reirden said. "It didn't go the way we wanted. We didn't execute. There was a number of different things that we weren't sharp [at]."
Atkinson gave the Blue Jackets a 1-0 lead at 3:27 of the first period when he redirected a centering pass by Gustav Nyquist.
Columbus outshot Washington 20-6 in the first period.
"We were lucky it was only a 1-0 game because of the way [Holtby] played," Capitals forward Carl Hagelin said. "We started getting better and better as the game went on, but it wasn't enough."
Murray extended the lead to 2-0 at 6:52 of the second period. Eric Robinson won a puck battle along the left boards and sent a backhand pass to Murray, who scored on a one-timer from in front over the shoulder of Holtby.