Dnipro face Sevilla in the UEFA Europa League final on Wednesday, here we look at their route to the Warsaw showpiece.
Play-off Round: August 20 - Dnipro 2 Hajduk Split 1, August 28 - Hajduk Split 0 Dnipro 0
The disappointment of slipping out of the UEFA Champions League in the third qualifying round at the hands of Copenhagen abated somewhat as Dnipro edged into the group stage with a 2-1 aggregate win over Hajduk Split. Dnipro were forced to come from behind in the first leg as Nikola Kalinic's goal and an 88th-minute winner from Yevhen Shakhov turned the game around following Tino Susic's opener before Myron Markevych's men hung on for a 0-0 draw in the away leg.
While Inter eased to first place in Group F, Dnipro were left to scrap with Qarabag and Saint-Etienne for the other qualification spot. After taking just one point from the first three group games, a Kalinic double gave Dnipro a 2-1 win over Qarabag. Defeat to 10-man Inter by the same scoreline left them needing a win against Saint-Etienne on the final matchday to have a change of progression, which was sealed with a 1-0 success - Artem Fedetskiy scoring the winner - as Qarabag were held to a 0-0 draw by Inter.
Round of 32: February 19 - Dnipro 2 Olympiacos 0, February 26 - Olympiacos 2 Dnipro 2 (Dnipro win 4-2 on aggregate)
Dnipro took control of the round-of-32 tie with a fine second-half showing in the home leg. Jaba Kankava's deflected drive and a Ruslan Rotan free-kick ensuring victory. Their place in the last 16 was then confirmed with an entertaining 2-2 draw in which Olympiacos had midfielder Luka Milivojevic sent off, Kalinic netting in the second minute of injury time after an Alejandro Dominguez penalty had put the hosts back in front in the 89th minute.
Round of 16: March 12 - Dnipro 1 Ajax 0, March 19 - Ajax 2 Dnipro 1 (2-2 on aggregate, Dnipro win on away goals)
A left-footed strike from Roman Zozulya gave Dnipro a slender lead after the home leg. Nerves were jangled in the second leg, though, as Ajax midfielder Riechedly Bazoer's goal on the hour mark at the Amsterdam Arena forced extra time. But Yevhen Konoplyanka's fine curling effort proved enough for Dnipro to earn their reward for a backs-to-the-wall performance despite a 117th-minute goal from Mike van der Hoorn, who was sent off in added time at the end of the extra 30 minutes.
Quarter-Finals: April 16 - Club Brugge 0 Dnipro 0, April 23 - Dnipro 1 Club Brugge 0 (Dnipro win 1-0 on aggregate)
Club Brugge came into the last-eight tie unbeaten in the Europa League, however, the Belgian side could not find a way through Dnipro in an absorbing first leg with chances at both ends. And it was Dnipro who finally ended the stalemate in the second leg, Shakhov lashing a deflected shot into the top-left corner eight minutes from time to set up a semi-final with Napoli.
Semi-Finals: May 7 - Napoli 1 Dnipro 1, May 14 - Dnipro 1 Napoli 0 (Dnipro win 2-1 on aggregate)
The semi-final was a fairytale for the club and particularly striker Yevhen Seleznyov who, after cancelling out David Lopez's goal with his first touch as a second-half substitute in the away leg, delivered the telling blow in the return meeting with a superb header from Konoplyanka's left-wing cross. The final whistle sparked wild celebrations at the Olympic Stadium in Kiev as fans rejoiced at Dnipro reaching their first major European final.