Championship side Bristol City will play Manchester City in the Carabao Cup semi-finals, with Chelsea facing Arsenal in the other tie.
Manchester City and Chelsea will host the first legs in the week beginning 8 January, with the second legs two weeks later.
Bristol City beat holders Manchester United 2-1 to reach the last four.
Manchester City knocked out Leicester on penalties, Chelsea beat Bournemouth 2-1 and Arsenal beat West Ham 1-0.
“It is brilliant,” Robins boss Lee Johnson told Sky Sports.
“It’s on to another big one against Manchester City over two legs. It is a chance for the players to test themselves against the best players.”