"I knew we`d go top of the table after we went 3-0 up, but what especially pleased me was the performance," said Tuchel.

"I`m proud that the team kept the performance up for 90 minutes and never waned.

"I`d hoped in the halftime break that they would be rewarded for playing well."

Dogged Ingolstadt defending meant Dortmund only went ahead when right-back Ginter fired home Henrikh Mkhitaryan`s final pass on 55 minutes.

Germany winger Reus doubled the lead by converting a penalty on the hour after left-back Marcel Schmelzer was fouled.

Kagawa added the third with a superb shot off his left foot after beating two defenders on 84 minutes before Aubameyang claimed his sixth goal in six games in stoppage time.

Dortmund are top on goal difference ahead of Bayern, who needed a 90th-minute Robert Lewandowski goal to earn a dramatic 2-1 win at Hoffenheim on Saturday after conceding the joint fastest goal in German league history and had Jerome Boateng sent off.

The Poland striker sealed the champions` comeback after Hoffenheim`s Germany Under-21 striker Kevin Volland had opened the scoring with just nine seconds gone at the Rhein-Neckar-Arena.

Bayern equalised when Thomas Mueller jabbed home a rebound shot on 40 minutes as Hoffenheim wasted the chance for an historic first win over Bayern at the 15th attempt when Eugen Polanski blasted his penalty attempt off the post after Boateng was sent off for a handball on 72 minutes.

Bayern claimed the dramatic winner when Brazil winger Costa fired in a superb cross and Lewandowski drilled home his shot.

Bayer Leverkusen are third after a 1-0 win at Hanover saw them join Bayern and Dortmund as the league`s only teams with two wins.

Dead-ball specialist Hakan Calhanoglu`s 18th-minute free-kick sealed the win to give Leverkusen a boost before Wednesday`s Champions League play-off qualifier, second-leg, at home to Lazio, who they trail 1-0 after the first leg.

Belgian attacking midfielder Kevin de Bruyne started what could be his last match for last season`s runners-up VfL Wolfsburg in a 1-1 draw with Cologne.

The 24-year-old, despite having said earlier in the week he would be staying with Wolfsburg for this season, is reported to have agreed terms with Manchester City and will earn £200,000 (275,632 euros, $313,890) a week in the Premier League, if his present club accept City`s improved offer of £55 million.

Hosts Cologne took the lead when striker Simon Zoller lobbed goalkeeper Koen Casteels on the half hour mark, but sixth-placed Wolfsburg equalised when ex-Arsenal and Juventus striker Nicklas Bendtner tapped home a Daniel Caliguri cross at the far post on 83 minutes.

Schalke, who routed Bremen 3-0 on the opening weekend of the season, are fourth after their 1-1 draw at newly-promoted Darmstadt.

Konstantin Rausch`s 18th-minute goal was cancelled out by Schalke`s Germany international Julian Draxler, who has been linked to a move to Italian champions Juventus, on 47 minutes.

Hamburg moved up to ninth with a 3-2 win at home to ten-man VfB Stuttgart as their ex-Arsenal defender Johan Djourou scored the 89th-minute winner after Stuttgart right-back Florian Klein was sent off for a second booking in as many minutes.

Hertha Berlin had briefly led the table on Friday night after their 1-1 draw at home to Werder Bremen when Valentin Stocker`s goal was cancelled out by Anthony Ujah`s equaliser.