The Bundesliga title contenders kept up the pace at the top of the table with a routine win at Signal Iduna Park on Sunday
Thomas Tuchel's side were able to maintain their five-point gap behind leaders Bayern Munich on Sunday as the title race heats up.
Reus was on hand to open the scoring for the hosts after he latched onto Gonzalo Castro's ball from midfield, sweeping home confidently beyond Mainz goalkeeper Loris Karius.
BVB were made to wait until the second half to make all three points safe when Kagawa picked up Pierre-Emerick Aubameyang's cut-back before slotting into an empty net.
Dortmund were on top from first whistle to last, with Karius called into action to deny Aubameyang and Henrikh Mkhitaryan, among others.
Marcel Schmelzer got a chance to break the deadlock midway through the first half after cutting inside from the left and dancing past two opponents, but Karius did well to keep out the full-back's right-footed shot.
Castro prevented Mainz from taking a surprise lead shortly after when he cleared Stefan Bell's low shot off the goalline, with Dortmund custodian Roman Burki already beaten.
But Reus was on hand to put Dortmund ahead on the half-hour mark, as he coolly slotted his 10th Bundesliga goal of the season beyond Karius after latching onto Castro's clever throughball.
Karius then did well to rush off his line and gather before Mkhitaryan could tap home Schmelzer's low cross from the left, preventing a second Dortmund goal shortly after Reus' opener.
Mainz's keeper again showed his class early in the second half when he denied Kagawa from close range, blocking the Japan international's toe-poke from five yards out with his legs.
Aubameyang was next to be frustrated by Karius in the 51st minute, with Dortmund's top scorer denied twice in the space of 30 seconds.
Reus tried his luck from a difficult angle at the hour mark, before Mkhitaryan blazed over.
Reus then wasted a gilt-edged chance after being set up by Mkhitaryan, before Kagawa eventually sealed a vital win, tapping home from close range after some good work from Aubameyang.