The victory against the Spanish giants put the London club into the last 16 stage of the UCL clash.
Both sides began the night locked together as joint Group H leaders, but Tottenham were far superior as they ended Madrid’s 30-match unbeaten run in UCL group games in stunning fashion.
Alli gave Tottenham the lead from close range in the 27th minute and doubled the home side’s advantage early in the second half, before Christian Eriksen put Spurs in cruise control.
Cristiano Ronaldo replied for Zinedine Zidane’s side but it was in vain as Tottenham sealed a first win in six attempts against the Spanish champions.
Real Madrid will face further criticism after falling eight points behind FC Barcelona in La Liga.
Tottenham lead the group on 10 points with Real on seven, followed by Borussia Dortmund and Apoel Nicosia who have two points each after a draw in Germany.
“It was a fantastic display by us. We knew if we stuck to our game plan and were solid at back, then we’d get chances.
“We’re very happy with the result. I wasn’t surprised [we were dominant]. We couldn’t believe how much space we had at the Bernabeu.
“We don’t want to just compete with these teams, we want to beat them. I’m happy to get two goals but more importantly it was a win,” Alli said in his post-match reaction.
In other UEFA Champions League matches also played on Wednesday, Sergio Aguero broke the Manchester City goalscoring record when he took his career total to 178 at Napoli.
The 29-year-old beat the old mark of 177 set by Eric Brook during the 1930s when he netted City’s third goal in Naples after 69 minutes to give his side a 3-2 lead.
The English side won the match 4-2.
Also, second half goals from Mohamed Salah, Emre Can and Daniel Sturridge moved Liverpool closer to the Champions League knockout phase after the five-time European champions beat Maribor 3-0 on Wednesday.
Liverpool won 7-0 in the reverse fixture two weeks ago, but had to be content with three goals at Anfield as the Slovenian champions belatedly tightened things up at the back.
Victory, coupled with Sevilla’s 2-1 defeat of CSKA Moscow, left Liverpool a point clear at the top of Group E.
It kept up their hopes of a first appearance in the knockout rounds since 2008-09 in their own hands.
Jurgen Klopp’s side, who also saw James Milner squander a penalty kick, visit Sevilla on the next match-day later this month.
They will then close the group stage at home to Spartak in early December.