It could have been game over inside 10 minutes at the Constant Vanden Stock Stadium.
Christian Eriksen went close before opening the scoring on four minutes. Erik Lamela was also denied one-on-one as we flew out of the blocks but Anderlecht levelled on 13 minutes and grew in confidence.
The Belgian side edged a closer second half and won it when Stefano Okaka slid home on 75 minutes.
Mauricio Pochettino made five changes from the team that started against Liverpool on Saturday, most notably Clinton Njie making his full debut in for Harry Kane, who started on the bench. Eric Dier, suspended against Liverpool, came back in for Dele Alli.
Our trio of Belgian internationals Toby Alderweireld, Mousa Dembele and Jan Vertonghen all started.
We started superbly. Eriksen latched onto Hugo Lloris' long clearance on two minutes but slipped as he looked to shoot and Silvio Proto gathered in the Anderlecht goal.
Eriksen soon put us ahead as Serigne Mbodji's clearance hit Leander Dendoncker and the Dane made no mistake with his left foot from 14 yards.
The in-form playmaker was soon at it again, curling a free-kick inches wide and then turned provider for Lamela, who just delayed his shot too long and that enabled Proto to close down the angle and block.
Anderlecht's equaliser came against the run of play on 13 minutes as Steven Defour's corner found Guillaume Gillet who controlled and volleyed home from 16 yards.
Lloris did well to turn away Okaka's drive before play switched to the other end as Vertonghen played in Lamela who finished well but the flag was up for offside.
Okaka tested Lloris again and Andros Townsend curled just wide as half-time approached.
The second half was a much more even affair. Both teams had efforts from distance through Gillet, Clinton and Imoh Ezekial that didn't seriously trouble the respective goalkeepers and our intention to win the game was underlined by the introduction of Kane for Clinton just before the hour.
Anderlecht went close soon after as another Defour set-piece caused problems with Mbodji's header glancing off Vertonghen but Lloris was alert to the danger.
We then had two chances to make it 2-1 - Gillet did well to block Eriksen's shot before Ben Davies picked out Kane and he muscled his way into the box only to be denied one-on-one by Proto's feet.
Anderlecht made the key breakthrough on 75 minutes when substitute Frank Acheampong got away down the left and his cross was turned home from close range by Okaka.
Josh Onomah came on for his second senior appearance on 80 minutes but the home side had the better chances as Defour's corner was headed wide by Dendoncker and Praet forced a fine save from Lloris. Kieran Trippier fired a yard wide in added time and that was that.
In the evening's other match, Monaco beat Qarabag and moved to the top of Group J on five points. We're level with Anderlecht on four and we meet again at the Lane on November 5.
RSC Anderlecht: Proto (c), Gillet, Deschacht, Mbodji, Obradovic, Dendoncker, Defour, Praet (Conte 90+2), Okaka (Sylla 88), Tielemans, Ezekiel (Acheampong 65). Substitutes (not used): Roef (gk), Nuytinck, Heylen, Kawaya.
Spurs: Lloris (c), Trippier, Alderweireld, Vertonghen, Davies; Dier, Dembele (Alli 65); Townsend (Onomah 80), Eriksen, Lamela; Clinton (Kane 59). Substitutes (not used): Vorm, Rose, Wimmer, Winks.
Goals: Anderlecht - Gillet (13), Okaka (75). Spurs - Eriksen (4).
Yellow cards: Anderlecht - Praet (58), Tielemans (62). Spurs - Clinton (54),
Referee: Pol van Boekel (Netherlands).
Attendance: To follow...