FRANKFURT, Germany — Borussia Dortmund beat Schalke 3-0 in the Ruhr Derby on Saturday for its fourth consecutive Bundesliga victory.
After missing half a dozen chances in the first half, Dortmund's attack came alive late, with goals from Pierre-Emerick Aubameyang, Henrikh Mkhitaryan and Marco Reus in the last 12 minutes of the biggest derby in German football.
The home victory continued Dortmund's climb from the bottom of the table, and Jurgen Klopp's team is now six points away from danger.
"It was a perfect afternoon," Klopp said. "We played a great game from the first to the last minute. We have to continue this way."
Elsewhere, bottom-place Stuttgart earned a 1-1 draw in Hannover, with both teams finishing the match with 10 men; Hoffenheim beat Mainz 2-0; Hertha Berlin edged Augsburg 1-0; Bayer Leverkusen defeated Freiburg 1-0; and Alexandar Meier scored both goals for Eintracht Frankfurt to edge 10-man Hamburger SV 2-1.
Runaway leader Bayern Munich beat Cologne 4-1 on Friday.
Dortmund dominated the derby but Schalke stayed in the match thanks to the inefficiency of Dortmund strikers and some good saves by 19-year-old Timon Wellenreuther, normally third-choice goalkeeper but playing because of injuries to the other two.
Not until the 78th did the first goal come, Aubameyang scoring a deflected shot by Mkhitaryan, who doubled the lead one minute later as Schalke's defense collapsed. After the first goal, Aubameyang and Reus went through their routine celebration while wearing Batman and Robin masks.
In the 86th, Wellenreuther showed his inexperience when he allowed Reus to rob him of the ball and score.
"There is no better feeling," Reus said after his team's first home win over Schalke since 2011. "It's the biggest game of the season for us."
Schalke coach Roberto di Matteo said he wanted to apologize to the fans after his team's third straight match without a win. "It was a difficult day for us. We have to think about how we want to proceed."
In Frankfurt, Meier converted from the spot after Lucas Piazon was downed by Johan Djourou.
Hamburg equalized in first-half injury time after a neat one-two between Nicolai Mueller and Zoltan Stieber. But Hamburg failed to clear the ball far enough in the 54th and Meier slotted home from the edge of the box for his 16th goal of the season.
Hamburg's Matthias Ostrzolek was sent off, but the visiting side held on for the last 25 minutes without conceding another goal.
In stoppage time, Djourou gave up his second penalty but this time Meier sent the spot kick against the crossbar.
Leverkusen ended a three-match winless run and jumped to fourth place after a first-half goal from captain Simon Rolfes.
Despite the point in Hannover, Stuttgart remains in last place. Stuttgart led through Christian Gentner but Lars Stindl equalized. Stindl and Stuttgart's Martin Harnik were sent off late after shoving and pushing each other.
Salomon Kalou's late goal allowed Hertha Berlin to escape from the danger zone, while Augsburg slumped to its fourth match without a win.
In his second game in charge, new Mainz coach Martin Schmidt fell to his first defeat, with Hoffenheim's Kevin Volland and Eugen Polanski scoring in the second half.