League One leaders Birmingham shocked their Premier League opponents, who made nine changes to the side who beat Arsenal in midweek to reach the League Cup final, when Ethan Laird opened the scoring from the first corner of the game.
In a fast and frantic first half, Willock levelled the scores in controversial fashion.
Goalkeeper Bailey Peacock-Farrell parried his shot but the assistant referee flagged that the ball had crossed the line and, with no VAR at this stage of the competition, the goal stood.
Callum Wilson stabbed home five minutes later to send Newcastle 2-1 up but Birmingham equalised in the 40th minute through a long-range Tomoki Iwata strike that gave goalkeeper Nick Pope no chance.
Willock grabbed his second of the game in the 82nd minute to see the Magpies through.
The 12 minutes of extra time gave Birmingham a chance but Newcastle held firm, bringing on rested top scorer Alexander Isak for the final seconds when William Osula came off after a clash of heads.
"It was a tough game for us, mentally, physically. You could see a few of the players were on the edge today," Newcastle manager Eddie Howe told BBC Sport.
"I thought it was going to be a difficult night before the game, and we conceded within a minute. We knew that made it double difficult because the atmosphere in the stadium totally changed, it was electric at the start.
"At half-time, it was about just staying calmer. I think we were a little bit anxious, the game became a little bit emotional for us...we needed to be calm and control the game and I thought we did that much better in the second half."