Two Willian goals rither side of a Harry Kane header sent Chelsea into half-time with a 2-1 lead, but Dele Alli levelled the scores soon after the break.
Antonio Conte's changes paid dividends as substitute Eden Hazard struck to put Chelsea 3-2 up, with Nemanja Matic's stunning long-range effort sealing a place in the final against either Arsenal or Manchester City.
Both sets of players wore black armbands to mark Ugo Ehiogu's death, with a minute's applause held ahead of the game after the Spurs Under-23 coach passed away on Friday morning.
Relive the action on Standard Sport's live blog!
Can't see the blog? Click here for the desktop version.
Chelsea starting XI: Courtois, Azpilicueta (c), David Luiz, Ake; Moses, Kante, Matic, Alonso; Willian, Batshuayi, Pedro
Subs: Begovic, Zouma, Terry, Chalobah, Fabregas, Hazard, Costa
Spurs starting XI: Lloris; Trippier, Dier, Alderweireld, Vertonghen; Wanyama, Dembele; Son, Eriksen, Dele Alli; Kane
Subs: Lopez, Davies, Walker, Wimmer, Sissoko, Nkoudou, Janssen
Referee: Martin Atkinson
WHAT THEY SAID
Antonio Conte: "Tottenham now is a really great power in English football.
"There is a moment you have to finish considering yourself an underdog. I think this is the right moment.
"This is the third year for them (under Pochettino). Tottenham is a great team.
"They're showing for the second consecutive year to fight for the title."
Mauricio Pochettino: "I think if there is one favourite it's Chelsea because they are top of the table, because of the experienced players and the manager that they have.
"We are talking about one of the best teams in Europe.
"Players that in the past five years have won European competitions and World Cups, a manager who won the league in Italy.
"They are more experienced than us."