UEFA Europa League: Dnipro 1 Club Brugge 0
Brugge coach Michel Preud'homme predicted a "poker game" on the back of a goalless first leg in Belgium and there was little on display to quicken the pulse for the most part at Kiev's Olympic Stadium.
Yevhen Seleznyov passed up Dnipro's best chance during the first half but the hosts found regular openings hard to come by despite a typically inventive display from Yevhen Konoplyanka.
Dnipro passed eight hours without conceding a goal shortly before half-time and their miserly efforts were rewarded with eight minutes to play.
Brugge botched a short free-kick and a measured throughball from the excellent Ruslan Rotan found Shakhov, who cut inside Brandon Mechele and lashed a left-footed effort that clipped the defender and found the top-left corner.
Playmaker Konoplyanka was Dnipro's most influential performer in the first leg and he served notice of his intentions during the opening stages, embarking upon a mazy run into the Brugge box before being crowded out.
Lior Refaelov was unable to get a shot off when he broke into the Dnipro box after 19 minutes and Brugge were largely restricted to probing on the counter-attack during the first-half.
Leo Matos was unable to work visiting goalkeeper Mat Ryan from Rotan's free-kick, looping his back-header onto the roof of the net.
The best chance of the opening period arrived shortly after the half hour as Konoplyanka engineered space on the left for Seleznyov - selected ahead of Nikola Kalinic in attack - to head past the near post.
An increasingly ragged Brugge defence scrambled clear when Konoplyanka drilled the ball dangerously into the six-yard box, meaning the sides played out a third consecutive goalless half.
Roman Bezus made way at half-time for Dnipro, with Shakhov taking on the attacking role behind Seleznyov, but it was Konoplyanka once more who caused problems for Brugge.
He collected a quickly taken and wonderfully flighted 48th minute set-piece from Rotan to arrow an angled shot towards the bottom corner.
Ryan got down to save superbly, although the officials inexplicably awarded a goal-kick.
Seleznyov thumped emphatically into the net on the end of another fine Rotan pass in the 55th minute but was correctly flagged offside.
Obbi Oulare and Kalinic came on as their respective sides chased a winner and the Brugge man offered his team-mates a fleeting moment of encouragement with a muscular turn and shot from distance.
But it was an earlier substitute who would prove to be the hero for Dnipro, as Shakhov ensured Belgian Pro League leaders Brugge's hopes of adding the Europa League to their Belgian Cup crown crumbled.