Borussia Dortmund secured the German Cup for a fourth time with a 2-1 victory over Eintracht Frankfurt on Saturday.

Christian Pulisic drew a penalty in the 67th minute and Pierre-Emerick Aubameyang tucked away the spot kick to secure the victory in what may have been the striker’s final game for the club after he reportedly handed in a transfer request this week.

The final kicked off under a cloud of smoke after fans lit flares, and Ousmane Dembele got Dortmund off to a great start in the eighth minute when he eluded Jesus Vallejo on the right and curled the ball inside the far post.

Police made an appeal to Dortmund fans not to celebrate with more pyrotechnics after some were lit behind the west-end goal.

Frankfurt gradually worked its way back into the game — Haris Seferovic and Ante Rebic both went close — before Rebic equalized in the 29th minute.

Marco Fabian won the ball in midfield, played Mijat Gacinovic through, and Gacinovic squared the ball for Rebic to beat Roman Burki in the Dortmund goal.

Backed by outstanding support behind the east-end goal, Frankfurt kept pushing and Seferovic hit the post after playing a one-two with Rebic.

Dortmund made two changes at the break: Pulisic came on for the injured Marco Reus, while Gonzalo Castro replaced Marcel Schmelzer.

Fabian rescued Frankfurt with a goal-line clearance from Aubameyang’s overhead kick off Dembele’s dinked cross.

But Frankfurt goalkeeper Lukas Hradecky brought down Pulisic to concede a penalty, and Aubameyang, who’d had a quiet game to that point, cheekily scored the winner with a chipped effort down the middle.

Aubameyang, the Bundesliga top scorer this season with 31 goals, has been the subject of transfer speculation linking him with a big-money move away from Dortmund in the summer.

Frankfurt brought on Alexander Meier for a defender in response but he was unable to get the side out of the jam, giving Dortmund the title at the fourth attempt after losing the previous three finals.