After a disappointing goalless first half, Dnipro shocked White Hart Lane by taking the lead through Roman Zozulya, before Christian Eriksen levelled with a fine free-kick. Zozulya was then dismissed for an apparent headbutt on Jan Vertonghen, after which a quick-fire double from Adebayor put us in control - and ultimately through.
It means we progress to the Last 16 in the Europa League and a mouth-watering showdown with Portuguese giants Benfica.
Tim Sherwood made five changes to the side which lost at Norwich City on Sunday, with Andros Townsend, Christian Eriksen, Roberto Soldado, Sandro and Zeki Fryers all in the starting line-up, Sandro making his first appearance since mid-December.
The match started exactly as most expected it to, with Dnipro happy to let us have possession and dropping everyone back behind the ball as we looked to create chances, but dangerous on the counter-attack with the tricky Yevhen Konoplyanka and Roman Zozulya to the fore.
It was seven minutes before the first attempt on goal and it came from Eriksen. Kyle Naughton sent over a cross which Emmanuel Adebayor knocked down for the Danish midfielder but his first time half volley deflected off a defender for a corner, which came to nothing.
Zozulya hit a swift shot on the turn on 12 minutes which never troubled Hugo Lloris, while we were having plenty of the ball without managing to break through the massed blue ranks of the Ukrainians.
Dnipro keeper Denys Boyko was tested for the first time on 26 minutes when Eriksen drilled a 25-yard free-kick up and over the wall but Boyko saved low down to his right, before Ivan Strinic found space down the left of our defence but good covering from Naughton ensured the danger was cleared for a corner.
We were almost caught out on the half hour mark when Zozulya clipped a ball over from the right flank which Brazilian Matheus controlled on the edge of the area and got himself in on goal, but he lost his footing and Lloris slid out to gather the ball.
Neither side were managing to carve out good chances, and Sandro’s long range effort on 38 minutes which flew a few yards over the bar was the last action of any note as the teams went in level at half-time with the tie in the balance.
But that balance weighed very much in Dnipro’s favour just two minutes after the break when they stole the lead on the night. Ruslan Rotan floated in a free-kick from out wide on the left and Zozulya got his head to the cross to nod past Lloris, giving the visitors a 2-0 aggregate lead.
We went in search of a quick response and almost grabbed an equaliser when Mousa Dembele hit a shot into the ground which bounced just over the bar on 50 minutes and the ball was in the back of the Dnipro net two minutes later courtesy of Soldado, but he was offside from Eriksen’s pass and the goal was ruled out.
However we weren’t to be denied for long. Within 60 seconds of that effort, Adebayor was fouled 22 yards from goal on the left-hand side of the area and up stepped Eriksen again, this time curling his shot past Boyko and giving us renewed hope.
A game which was so low on chances in the first period was delivering so many more after the break and it was Dnipro who created the next with a neat free-kick. Rotan shaped to curl a cross from out wide again but this time rolled it infield to Konoplyanka, whose first time effort crashed off the far post and Artem Fedetskiy blazed the rebound wide.
And there was real drama in the 61st minute when, as the players prepared for a Spurs free-kick in the area, Zozulya appeared to put his head into Jan Vertonghen’s face. French referee Antony Gautier immediately showed him the red card.
Our man advantage soon became a goal advantage as well as the momentum suddenly shifted all in our favour. With 65 minutes on the clock, build up play down our left saw Eriksen deliver a telling cross into the middle, Adebayor stuck out a boot and sent it past Boyko to make it 2-1 on the night, although the visitors still held the upper hand with the away goal.
Not for long though as the crazy spell in the game took another twist on 69 minutes when Fryers floated in a cross which Adebayor controlled magnificently before poking the ball past Boyko again to give us the lead on aggregate.
Dnipro still carried a threat though and we were lucky to escape when Matheus did well down the byline to cut the ball into the six yard box but none of his team-mates could get a touch and Michael Dawson whacked clear.
Soldado looked set to secure the win when he got on the end of Townsend’s teasing centre but prodded over the bar, while Konoplyanka tested Lloris from distance but the keeper was well up to the task.
Late substitutions saw Aaron Lennon enter the fray for his 50th appearance in Europe in our colours – only Steve Perryman has made more – while Harry Kane came on for Soldado in the closing minutes.
Five minutes of added time were indicated by the officials to ensure a nervy wait for the final whistle and when Konoplyanka lined up a 30-yard free-kick, collective hearts were firmly in mouths. But Lloris produced a fine save again and the victory was secured.
Spurs: Lloris, Naughton, Dawson, Vertonghen, Fryers, Townsend (Lennon 85), Dembele, Sandro (Bentaleb 76), Eriksen, Soldado (Kane 88), Adebayor. Substitutes (not used): Friedel, Veljkovic, Paulinho, Chadli.
Dnipro: Boyko, Strinic, Cheberyachko, Mazuch, Fedetskiy (Kulakov 84), Rotan, Kankava (Seleznyov 69), Konoplyanka, Giuliano, Matheus, Zozulya. Substitutes (not used): Lastuvka, Kalinic, Gama, Douglas, Politylo.
Goals: Spurs – Eriksen 56, Adebayor 65, 69; Dnipro – Zozulya 48.
Yellows: Spurs – Sandro, Vertonghen, Dawson; Dnipro – Rotan, Kulakov.
Red: Dnipro – Zozulya.
Referee: Antony Gautier (France).