Rafa Benitez’s side dominated virtually the whole game but only had David Lopez’s second-half header to show for it on the scoreboard and Yevhen Seleznyov controversially made them pay for their profligacy late on.
Replays showed Seleznyov was offside as he smashed home the away goal that has given Dnipro, who have already beaten Olympiacos, Ajax and Club Brugge in the competition, the upper hand.
Dnipro made a poor start to the game, with it looking like the reality of playing in their first-ever European semi-final was weighing heavy upon them.
Napoli, themselves only reaching the last four of a European competition for the first time in 16 years, dominated possession and were unlucky not to be in front after eight minutes.
Lorenzo Insigne controlled expertly 25 yards from goal, teeing up a volley, and his subsequent dipped strike clipped a post before going wide. Dnipro keeper Denys Boyko was slow to react – seemingly confident there was no initial danger – but he got lucky as he forlornly scrambled across yet saw the ball go out of play anyway.
Despite that early warning the Ukrainian side continued to sit deep, inviting pressure, and Insigne was inches away from breaking the deadlock again in the 22nd minute.
The 23-year-old latched on to a clever reverse pass from Gonzalo Higuain on the left, but with little space to work in and Boyko quick off his line Insigne could only toe poke it past the near post to give the visitors another let off.
Jaba Kankava finally registered Dnipro’s first shot a minute later, unleashing a hopeful blast from 20 yards, but Napoli custodian Mariano Andujar was able to tip it wide without too much fuss.
Any hopes that Dnipro would be a bit more adventurous after seeing out the first 45 minutes were dashed immediately as they resumed with two solid banks of four just in front of their own box. But this time Napoli punished them.
With the second half only five minutes old Lopez rose highest at the near post, ahead of a crowd of defenders and Boyko, to nod Insigne’s corner home.
Shortly after Napoli found a way to scythe through Dnipro for the first time, with Marek Hamsik’s through-ball sending Higuain in behind but the Argentinian’s low shot – which looked like it was going through Boyko’s legs – ricocheted off the Dnipro man’s right calf and out of harm’s way.
Boyko denied Higuain again on the hour mark and then pulled off a spectacular finger-tip stop to deny the Argentinian 13 minutes from time before Dnipro stunned Napoli with an equaliser.
Artem Fedetskiy’s whipped cross created chaos in the 81st minute, but Seleznyov managed to ghost in at the far post and fire past Andujar – although replays showed he was offside.