Club Brugge's record 11-match unbeaten run in the Europa League came to an end in their quarterfinal second leg, as Dnipro sealed their progress with a 1-0 win at the NSK Olimpiyskyi stadium.
Dnipro had managed a goalless draw in the away leg, and it was down to Brugge's Australian goalkeeper Mathew Ryan to keep the hosts at bay on Thursday for almost the entire game.
However, Brugge's defence was breached deep into the second half courtesy of substitute Yevgen Shakhov, with the narrow win enough to see Dnipro book a first semi-final berth in the Europa League.
For much of the game it looked like Brugge would hang on long enough to steal something in extra-time, with neither side keen on penalties. Chances were at a premium in the first half, though Yevhen Konoplyanka was by far the most involved in the match for the hosts.
His effort on 14 minutes was easily saved by Ryan, before Cruz Leo Matos and Yevhen Seleznyov missed chances, the latter failing to get a shot on after Konoplyanka had done well to make space and cross.
Ryan was on form for Brugge and he showed so again with a save on 33 minutes when Dnipro defender Artem Fedetskiy fired a loose attempt straight at him.
Dnipro brought off midfielder Roman Bezus for the second half, sending striker Shakhov on, and nearly capitalised four minutes in.
Once again, Konoplyanka was in the thick of it, as his snap effort from a tight angle six yards out went across the face of goal and narrowly wide of Ryan's left-hand post.
Shakov got himself into the action quickly enough, and a shot on the turn after the hour mark would have tested Ryan had it not deflected off Brandon Mechele.
Brugge's first change was to bring 19-year-old Mamadou Oulare on after 69 minutes and he provided some much needed boost with a good shot from outside the box which went just over the Dnipro goal.
Shakov then produced the moment Dnipro were waiting for eight minutes before the end. Ruslan Rotan came up with the perfect through-ball for Shakov to run on to, and the forward cut in well before sending a curling, but deflected, effort past a diving Ryan.
It proved a fitting difference at the end of a tight tie, as Dnipro saw out the remaining minutes without any further trouble.