Dortmund captain Reus won and converted a penalty after 21 minutes and Can doubled the lead with five first-half minutes remaining with a long-distance shot from outside the box.
The win was Dortmund's 10th from 10 matches in 2023 and switched the pressure back to previous leaders Bayern Munich, who travel to Stuttgart on Saturday.
Both sides were hit by late withdrawals in the lead-up to the game, with Leipzig striker Timo Werner forced to the bench through injury and Dortmund goalkeeper Gregor Kobel injured in the warm-up.
Julian Brandt had the ball in the net for Dortmund after 15 minutes when he controlled a superb lofted pass from Jude Bellingham and put the ball past RB 'keeper Janis Blaswich.
However, a VAR review showed the Germany midfielder handled the ball before unleashing his shot.
Reus was fouled in the box just five minutes later and won the spot kick despite not going to ground.
He dispatched the ball to the left of Blaswich's outstretched hand to chalk up the opener.
Marcel Halstenberg had a chance to equalise after 35 minutes when he connected with an expert cross from Sweden midfielder Emil Forsberg, but the Germany defender blasted over.
Former Liverpool midfielder Can doubled Dortmund's advantage with five minutes of the first half remaining, driving a long-range shot through a crowded penalty box and into the goal.
Leipzig, who had lost only one of their last 22 games heading into Friday's clash, found their fluency in the second half, with Portugal striker Andre Silva going close a minute after the break.
Dortmund goalkeeper Alexander Meyer denied Silva again halfway through the second half, but Leipzig continued to push and cut the deficit in the 74th minute through Forsberg.
Germany wingback David Raum, who came off the bench in the 60th minute, cut a sliding pass through Dortmund defender Nico Schlotterbeck's legs, allowing a diving Forsberg to pounce.
Leipzig manager Marco Rose, who sat in the Dortmund dugout in the same fixture last season, brought on Werner in search of an equaliser.
The former Chelsea striker almost snatched a point for the visitors with an injury time shot but his Germany teammate Schlotterbeck chested it away from danger.