Mainz 05 1-3 Borussia Dortmund
Robert Lewandowski scored twice as Borussia Dortmund returned to winning ways in the Bundesliga with a win at Mainz.
Pierre-Emerick Aubameyang's free-kick put Dortmund ahead midway through the second half.
Eric Maxim Choupo-Moting equalised with a penalty, before they had Elkin Soto sent off for handling in the area.
Lewandowski scored the resulting spot kick before converting another penalty after Erik Durm was upended.
Dortmund, who lost to leaders Bayern Munich and Wolfsburg in their previous two league fixtures, are third in the standings, seven points off the top of the table.
"There was a very, very good fighting spirit," said Dortmund boss Jurgen Klopp.
"The fact that in certain situations our opponents had their chances to win the game says everything about Mainz's class."
Elsewhere, second-placed Bayer Leverkusen responded to their 5-0 Champions League defeat by Manchester United on Wednesday with a 3-0 win at home to Nuremberg.
South Korea striker Son Heung-min got two goals while Germany's Stefan Kiessling scored with a smart back-heel from midfielder Jens Hegeler's pass.
1. FSV Mainz 05
- 24Park Joo-ho
- 19SotoBooked at 78mins
- 16BellBooked at 59mins
- 9PolterSubstituted forSallerat 89'minutes
- 7ZimlingSubstituted forMalliat 64'minutes
- 27MüllerSubstituted forChoupo-Motingat 45'minutes
- 20Diaz Campbell
- 6BenderSubstituted forSahinat 32'minutes
- 16BlaszczykowskiSubstituted forMkhitaryanat 45'minutes
- 11ReusSubstituted forKehlat 45'minutes
- Deniz Aytekin
- Shots on Target