Reus scored from Gonzalo Castro’s fine pass on the half-hour and Kagawa added the second on 73 minutes.
Mainz goalkeeper Loris Karius made a string of impressive second-half saves to prevent more Dortmund goals.
Dortmund are unbeaten in 12 games, including nine in the league, since their defeat at Cologne in December.
But Bayern remain clear favourites for a fourth successive title after their 5-0 win against Werder Bremen on Saturday.
Dortmund’s win was marred by the death of a supporter attending the match. Another fan had to be resuscitated following two separate incidents.
The club said the second supporter was in a stable condition in hospital.
The club statement read: “During the game there were two tragic incidents in the stadium in which two spectators had to be resuscitated.
“Unfortunately one person did not make it and has died. We are full of sadness and the families are in our thoughts.
“We have received the news from the hospital that the condition of the second person is apparently stable.”