
Nico Schlotterbeck and Marcel Sabitzer scored while Guirassy responded to being benched for the first time this season by tapping in late after Jobe Bellingham pressed Bremen into a mistake.
Stuttgart’s 3-2 win over Eintracht Frankfurt earlier in the evening moved the German Cup holders within a point but 2024 Champions League finalists Dortmund responded with a controlled but unspectacular performance.
Dortmund moved to eight points behind leaders Bayern Munich, who play away at Cologne on Wednesday.
Schlotterbeck, Dortmund’s captain and standout player this season, put his side in front with a regulation header from a corner 11 minutes in.
The hosts were sloppy with the ball and disorganised without it in the opening half but Bremen lacked the quality to punish them.
Dortmund left the field to the sound of isolated boos and whistles at half-time from their 82,000-strong home crowd.
Making his 250th Bundesliga appearance, Sabitzer put nervy Dortmund two ahead with a 76th-minute goal, guiding the ball into the bottom left corner.
Benched in favour of former Wolves striker Fabio Silva, Guirassy came on midway through the second half and was in the right place to score when Bellingham won the ball with seven minutes left.
Mainz continued their resurgence under new coach Urs Fischer, lifting themselves off the bottom of the table with a 2-1 win over Heidenheim, who replaced them in last spot.
Tuesday’s match between Hamburg and Bayer Leverkusen was postponed just two hours before kick-off, the third Bundesliga game cancelled in the space of a week due to wild winter weather across northern Germany.