Borussia Dortmund came from behind three times to win the Bundesliga at Bayer Leverkusen, thanks to Erling Braut Haaland’s brace.
Haaland, who also had an assist, cancelled out Florian Wirtz’s opener with a towering header before scoring the game-winning penalty.
For Leverkusen, Czech Republic striker Patrik Schick and French winger Moussa Diaby scored in a frantic match.
Dortmund was saved by goals from Haaland, Julian Brandt, and Raphael Guerreiro.
Shortly before halftime, England midfielder Jude Bellingham had a goal ruled out for Dortmund, and Schick capitalised to put Leverkusen in the lead.
However, Leverkusen’s lead was short-lived as Brandt controlled Haaland’s pass with his heel before firing into the roof of the net.
Six minutes later, Diaby’s long-range strike made it 3-2 for the hosts, but Guerreiro’s superb free-kick levelled the game.
When Marco Reus was struck in the face by Odilon Kossounou’s arm, he was awarded a penalty, and Haaland kept his cool to score the winner for Dortmund in the 77th minute.