The Londoners, dumped out of the Champions League as holders and beaten in the Club World Cup final already this month as dubious fans adjust to interim boss Rafa Benitez, went a goal down before storming back to set up a last-four tie with Swansea City.
Leeds, rivals of Chelsea after a series of fractious games between the sides since an infamous 1970 FA Cup final, went ahead on 37 minutes through Luciano Becchio after Chelsea defender David Luiz had again charged up field and lost the ball.
Chelsea, who had numerous chances in a rain-hit first half, struck back through Juan Mata just after the break when his shot from the edge of the box following a fine move foxed the goalkeeper.
Branislav Ivanovic headed in Frank Lampard's corner at the near post to make it 2-1 on 64 minutes and forward Victor Moses soon increased the lead when he fired in after a mazy run.
Eden Hazard then latched on to David Luiz's long pass before Fernando Torres completed the scoring for a strong Chelsea line-up, who host Villa in the Premier League on Sunday lying third.
Swansea, Villa and fourth tier Bradford City, who stunned Arsenal, had already progressed to the last four last week as they chase England's secondary knockout trophy which provides a Europa League berth.
Chelsea are at home to Swansea in the first leg in the week starting January 7 while Bradford host Villa. The second legs take place in the week commencing January 21.
"The reaction in the second half was fantastic, especially with travelling back from Japan [Club World Cup] and having jet lag," Benitez told Sky Sports television.
"We were looking for character and the reaction was so good, we have to consider it for the future. Every competition is important for us and a top side like us has to win every competition. Swansea like to play football, on the floor."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.