Evan Ndicka headed the winning goal in added time to give Eintracht Frankfurt a 2-1 win over Union Berlin after he earlier gave away a penalty to let Union back into the Bundesliga game on Sunday.

The French center back joined a last desperate attack as Frankfurt pushed for a winning goal in the 95th minute and leapt highest in a crowd to meet Filip Kostic's cross from deep and head it past goalkeeper Andreas Luthe, securing 12th-place Frankfurt's first home league win of a so-far disappointing season.

Frankfurt dominated the first half against a Union team that struggled to get into the game, and opened the scoring through Djibril Sow's powerful shot from the edge of the box in the 22nd minute. The hosts could easily have scored two or three more before the break if not for their poor shooting, particularly in evidence when Rafael Borré scooped a Filip Kostic cross over the bar from close range.

Union's Max Kruse scores from the penalty spot during the German Bundesliga soccer match between Eintracht Frankfurt and Union Berlin, in Frankfurt, Germany, Sunday, Nov. 28, 2021. (Arne Dedertdpa via AP)

Union's Max Kruse scores from the penalty spot during the German Bundesliga soccer match between Eintracht Frankfurt and Union Berlin, in Frankfurt, Germany, Sunday, Nov. 28, 2021. (Arne Dedertdpa via AP)

It seemed Frankfurt had paid the price when Ndicka brought down Union forward Taiwo Awoniyi, allowing Kruse to convert the resulting penalty in the 62nd. Ndicka redeemed himself with his late header, Frankfurt's fifth added-time goal in six games in all competitions.

The game was played in front of a crowd, shortly before the Bundesliga holds its first game for months without fans when Leipzig plays Bayer Leverkusen.

Leipzig's home state of Saxony has tight restrictions on sports events as a result of soaring coronavirus case numbers in the area. Leipzig also has five players and four staff members in isolation after they tested positive for the virus.

Frankfurt's Djibril Sow, left, and Union's Sheraldo Becker fight for the ball during the German Bundesliga soccer match between Eintracht Frankfurt and Union Berlin, in Frankfurt, Germany, Sunday, Nov. 28, 2021. (Arne Dedertdpa via AP)

Frankfurt's Djibril Sow, left, and Union's Sheraldo Becker fight for the ball during the German Bundesliga soccer match between Eintracht Frankfurt and Union Berlin, in Frankfurt, Germany, Sunday, Nov. 28, 2021. (Arne Dedertdpa via AP)

More AP soccer: https://apnews.com/hub/soccer and https://twitter.com/AP_Sports

Frankfurt's Djibril Sow, left, celebrates after scoring during the German Bundesliga soccer match between Eintracht Frankfurt and Union Berlin, in Frankfurt, Germany, Sunday, Nov. 28, 2021. (Arne Dedertdpa via AP)

Frankfurt's Djibril Sow, left, celebrates after scoring during the German Bundesliga soccer match between Eintracht Frankfurt and Union Berlin, in Frankfurt, Germany, Sunday, Nov. 28, 2021. (Arne Dedertdpa via AP)