Milan Jurcina, Matt Pettinger and Tomas Fleischmann also scored for the Capitals, who had dropped six straight to the Devils.
Cam Janssen and Jay Pandolfo scored for the Devils, who came out flat following an emotional, hard-fought sweep of a home-and-home series with the New York Rangers.
Jurcina was credited with the only goal of the first period. The defenceman fired a shot from just inside that deflected off a maze of bodies that included Semin in front of Martin Brodeur at 8:43.
Washington got goals from Semin and Pettinger in the second period to build a 3-0 lead.
Semin, scoring for only the third time in the last 12 games, got his 32nd goal at 2:18. Kris Beech threw a two-zone pass to Semin who swooped into the Devils end and flipped a backhander over Brodeur.
Pettinger put the Capitals up by three with a short-handed tally at 4:35.
The Devils broke Johnson's shutout bid with a goal from an unlikely source at 10:33. Tough guy Janssen, back on the ice after serving a holding penalty, beat Johnson from the top of the right circle for his first NHL goal - and point - in his 82-game career.
In the third, Washington opened a 4-1 lead on Fleischmann's first NHL goal. Just like Janssen, Fleischmann had returned seconds earlier from serving a penalty. Brodeur dived to block the shot, which hit his stick and popped into the net.
The goal game seconds after Johnson stopped Mike Rupp's point-blank shot that would have pulled the Devils within one.
Pandolfo scored with 5:58 remaining to cut the Capitals lead to 4-2.
Notes: The game opened a home-and-home series. The teams meet again Sunday afternoon in Washington. ... Brodeur made his 32nd consecutive start for the Devils. New Jersey coach Claude Julien has hinted that backup Scott Clemmensen might get the start Sunday. Clemmensen has made only two starts in three appearances this season. ... The Devils called up C Rod Pelley from Lowell (AHL) on Saturday.