Aston Villa's reward for seeing off Chelsea is a meeting with Bolton, who beat Southampton on Tuesday.
The first of the two legs will be at Bolton's Reebok Stadium on either 20/21 January, with the second leg taking place at Villa Park a week later.
In the other semi-final, Arsene Wenger's Arsenal will take on Steve McClaren's Middlesbrough, with the first leg to be played at Highbury.
The winners will meet in Cardiff's Millennium Stadium on 29 February.
Semi-final draw:
Bolton Wanderers v Aston Villa
Arsenal v Middlesbrough
First leg ties will be played w/c 19 January.
Second legs will be played w/c 26 January.