The 2018/19 promotion race went right to the wire in Bundesliga 2. Cologne completed an immediate return to the Bundesliga, but the chase was on behind them with Paderborn, Union Berlin and Hamburg all separated by just four points going into the final game.
There was just one remaining automatic promotion place up for grabs, plus third-place’s play-off showdown with the Bundesliga’s third-bottom side VfB Stuttgart, going into the final day of the season in the second tier.
And so, after Cologne secured the Bundesliga 2 title with two games to spare, bundesliga.com takes a closer look who has joined the Billy Goats in the top flight next season, and who still has a chance in the play-off...
Position: 2nd - Promoted
Goal difference: +26
Having been relegated in the only Bundesliga campaign in their history back in 2015, Paderborn were instantly relegated to the third division the following season. An 18th-placed finish meant they narrowly avoided a third consecutive relegation, this time to the Regionalliga, before bouncing back with promotion to the second tier last term. Paderborn's fate was in their own hands on Matchday 34 but they slipped to defeat at mid-table Dynamo Dresden and were left waiting on the result of Union Berlin, who were staging a comeback at Bochum and a goal away from promotion. In the end it was enough for Paderborn, who scored the second-most goals in the second tier and will have a crack at Bundesliga football once more.
Star man: Philipp Klement
Klement netted 16 goals from attacking midfield, and lost just once when he got on the scoresheet. The former Germany U20 international scored in five of Paderborn's last nine games as the club inched closer to their fairy-tale promotion.
Position: 3rd - relegation play-off
Goal difference: +21
A 17-match unbeaten start to the season had seen Union occupy third for the majority of the campaign. Another five-match streak without tasting defeat was ended by Heidenheim on Matchday 26, however, and sparked a five-game winless run that nudged the Berliners down to fourth. However, coach Urs Fischer's men climbed up to third on goal difference on Matchday 31 with a vital 2-0 win over fellow promotion hopefuls Hamburg. Following their 3-0 win over Magdeburg on the penultimate weekend, they were all but guaranteed a top-three finish thanks to their vastly superior goal difference over HSV three points behind them. The capital club had a golden chance to claim the last automatic promotion spot after Paderborn fell to defeat at Dresden on the final day, but they too slipped up at Bochum. Needing a win to overtake Paderborn, Union found themselves 2-0 down but rallied late to bring it back to 2-2, but it was too little too late and they missed out on automatic promotion on goal difference. They will now face Stuttgart in the play-off for a chance of a maiden top-flight season.
Star man: Sebastian Andersson
With goals at a premium in Berlin - even goalkeeper Rafal Gikiewicz has had to chip in - Andersson may well be the man to fire Union into the Bundesliga next term. Capped four times by his country, the Swede is the club’s top-scorer this season with 12 goals. And those goals have already proven vital to the cause, with the Unioners unbeaten in each of the first nine league games when Andersson had scored (W7, D2).
Goal difference: +3
Like Cologne, HSV were looking to bounce back to the Bundesliga at the first attempt after their first-ever relegation last season. They were Cologne's nearest pursuers for several weeks, but slipped down the standings following a worrying run of eight games without a win, including five defeats. Their 4-1 defeat at promotion rivals Paderborn on Matchday 33 essentially ended their hopes of an immediate top-flight return. Automatic promotion was out of their reach on the final day and they were three points off Union in third place. It meant reaching the play-off was mathematically possible when they hosted relegated Duisburg, but HSV needed to win and hope Berlin lost by such a scoreline that would create a 21-goal swing in Hamburg's favour. HSV did win 3-0 but Union's point rendered the issue moot and condemned the club to a second year of Bundesliga 2 football.
Star man: Aaron Hunt
Hamburg's dip in form coincided with injuries to Hunt and the team appeared to have missed their captain. Coach Hannes Wolf said of his on-field leader: "We need him on the pitch, his absence has affected us." The 32-year-old came back to make some appearances right at the end of the campaign, but it seemed the damage to the team's morale had already been done and stopping their dip was even beyond him.
Bundesliga 2 Matchday 4 highlights!
All the goals and highlights as HSV joined three other teams locked on points at the top of the table.
What is Jamal Musiala's best position?
The Bayern Munich prodigy excels as a winger, an attacking midfielder and even in a defensive role - bundesliga.com analyses the teenager's stats in each position.
Matchday 2 highlights!
Bayern won again, Dortmund impressed in Freiburg and Timo Werner marked his return with a goal...