Borussia Dortmund have made it four wins from four Bundesliga games by recording a 4-2 victory over Hannover.
It looked like it could be a long afternoon for Thomas Tuchel's side as they were punished for a sluggish start by Artur Sobiech, who poked home on the slide after Leon Andreasen had sprinted clear and squared the ball to his teammate.
Dortmund responded to the early setback impressively, but the visitors were restricted to speculative efforts for long spells, with Marcel Schmelzer hitting a tame effort at Ron-Robert Zieler.
They were gifted the opportunity to draw level when Felipe was adjudged to have fouled Jonas Hofmann in the box, despite protests from the Hannover players.
Pierre-Emerick Aubameyang ignored the complaints to continue his fine form with a calm penalty to cancel out the home side's opener.
Dortmund quickly took control of the match after equalising, and they earned the lead just before the break when Matthias Ginter picked out Henrikh Mkhitaryan, who left Zieler helpless with a half-volley.
However, Hannover bounced back impressively to get back on level terms early in the second half when Sobiech capitalised on a mistake from Mats Hummels to score his second of the afternoon.
Tuchel sent on Adnan Jauzaj for his Bundesliga debut in an attempt to regain the lead, but it was a Hannover player who handed them the advantage again as Felipe continued his disappointing match by inadvertently sending the ball into his own net after good work from Ginter and Shinji Kagawa.
Hannover struggled to produce a response after the setback and Ilkay Gundogan started to become more influential in the Dortmund midfield as the visitors dominated proceedings.
There was more bad news to come for Felipe as he gave away a second penalty for a handball, which allowed Aubameyang to wrap up the win with an emphatic penalty late on.