Stuttgart: Cacau takes goal tally to seven in three
The Brazilian-born player, included in Germany's squad for next week's friendly against Argentina, also netted four times in the 5-1 victory at Cologne a week ago and was on target in the 1-1 Champions League draw at home to Barcelona on Tuesday.
Stuttgart climbed to eighth with 34 points from 24 games after winning for the seventh time in nine league matches since former Tottenham Hotspur coach Christian Gross took over in November.
The goals all came in the closing minutes of the first half, Benjamin Koehler putting Eintracht ahead in the 39th minute.
Cacau headed the equaliser two minutes later and scored the winner on the stroke of half time with a 20-metre shot on the turn from Aleksandr Hleb's pass.
Sixth-placed Werder Bremen (38 points) won 2-1 at Mainz, Sebastian Proedl notching the winner just after half time against the 10-man hosts who had Florian Heller sent off after 14 minutes for a bad tackle.
Tim Borowski had put Werder ahead with a free-kick just after the half hour and Burkina Faso striker Aristide Bance levelled for Mainz in the 45th minute.
Hertha Berlin stayed bottom after losing 2-0 at home to Hoffenheim with Demba Ba and Vedad Ibisevic on target.
Struggling Nuremberg, who ended Bayern Munich's run of 13 successive wins with a 1-1 draw last week, held VfL Bochum to a goalless draw to stay in 16th place, the relegation playoff spot.
Freiburg stayed two points above them with a 1-1 draw at Borussia Moenchengladbach.