Manchester United accounted for Everton in the League Cup and were then drawn to face Manchester City in the semi-finals while Tottenham Hotspur beat Stoke City and were rewarded with a tie against another second-tier side, Brentford.
Edinson Cavani and Anthony Martial scored late goals as United grabbed a 2-0 victory at Everton while Tottenham won 3-1 at Stoke on Wednesday evening.
United will host City at Old Trafford in their last-four showdown on January 5 or 6 while giant-killers Brentford will travel to Spurs as they aim to take down a fifth Premier League opponent in this season's competition.
The final is scheduled for April 25 at Wembley.
If the competition used VAR, Cavani might not have been on the field to put United ahead in the 88th minute after replays showed him grabbing the throat of Everton defender Yerry Mina midway through the second half of their quarter-final at Goodison Park.
As it was, the Uruguay striker was still around to take a pass from Martial, cut inside on his left foot and score with a low shot from the edge of the area.
Martial scored the second with virtually the last kick of the game on a counter-attack.
Earlier in the night, Jose Mourinho moved within two wins of leading Spurs to a first major trophy since 2008.
Gareth Bale, Ben Davies and Harry Kane scored for Mourinho's men in their win at Stoke.
Mourinho was brought in by Tottenham to end the club's long trophy drought and the League Cup, which he won with Chelsea - on three occasions - and Manchester United, has always been a title he targets.
Each time Mourinho has reached the semi-finals, he has gone on to win the competition.
He fielded a strong team at Stoke with Kane playing the full match amid a busy run of games in the Premier League.
Bale glanced in a cross from Harry Winks to give Tottenham the lead in the 22nd minute with his third goal since returning to the club in September for a second spell.
The winger didn't come out for the second half, having looked to be moving uncomfortably as he went off the field for halftime.
"It was his decision, something he felt," Mourinho said.
"While he was walking to the dressing room, he told me he couldn't come for the second half ... something in his calf, I think."
Jordan Thompson equalised for Stoke in the 53rd but Davies put Tottenham back in front with a fierce low drive from 25 yards.
Kane clinched victory in the 81st by running onto Moussa Sissoko's pass and smashing a rising shot into the roof of the net.
"It's a cold, wet and windy Wednesday night at Stoke so it was tough," Winks said, repeating an oft-used cliche about Stoke stretching back to when the club was in the Premier League and hard to beat at home.