Curtis Good had given Newcastle the lead at the Stadium of Light but Lynden Gooch levelled with a penalty. The American then put the hosts ahead in the 68th minute.
But Newcastle forced extra-time through Callum Roberts' 90th-minute free-kick that made it 2-2.
Roberts then had a penalty saved by Max Stryjek early in the extra period, forcing the match to penalties.
Both teams missed at 3-3 in the shoot-out but all the other kicks went in, including the two goalkeepers'.
With Newcastle leading 11-10, Sunderland's Jake Hackett blasted his effort over to send the Magpies into the last four, where they will host the holders Porto.
Arsenal meet Villarreal in the other semi-final.
Arsenal v Villarreal
Newcastle United v Porto
Sunderland: 11 Mar v Everton (H) PL2
Newcastle: 12 Mar v Blackburn (A) PL2