Dortmund, which had already lost one game this season, looked set to drop further points before youngster Haaland and veteran Reus came off the bench in the second half to breathe new life into a blunt performance.
Haaland, 20, surged forward on the break to set up Reus with a tap-in and snatch Dortmund's first away victory over Hoffenheim in eight years.
“They've always made it difficult for us here in recent years. We didn't have many good chances in the first half and we knew we needed to create more in the second half," Reus said.
Haaland was initially rested after he played three times for Norway over the past two weeks, prompting criticism of the busy international schedule.
"At Dortmund, we are used to having a lot of midweek games at this stage of the season. The schedule is a bit more hectic this year, so we have to look after ourselves," Reus said.
Hoffenheim was also without three first team regulars, as Croatia's Andrej Kramaric, Ghana's Kasim Adams and Czech defender Pavel Kaderabek were all sent into quarantine after their return from international duty. The club confirmed on late on Saturday (AEDT) that two of three had tested positive for COVD-19.
Mijat Gacinovic missed a gilt-edged opportunity for Hoffenheim early on, and both Giovanni Reyna and Thomas Meunier came close for Dortmund.
Yet it was Reus who landed the decisive blow, slotting Haaland's square pass into the open net to score his first goal since February.
Dortmund now sits one point behind league leader RB Leipzig, which held onto top spot with a 2-0 win against surprise high-flyer Augsburg.