Leicester s Ricardo Pereira, left, and PSV s Mauro Junior fight for the ball during the quarter-final, second leg, Europa Conference League soccer match between PSV and Leicester City at Philips stadium in Eindhoven, Netherlands, Thursday, April 14, 2022. AP
After a goalless draw in the first leg in England last week, PSV took the lead in the quarter-final tie through Eran Zahavi.
But late goals from James Maddison and Ricardo Pereira sent Brendan Rodgers' Premier League side through and stunned the Philips Stadion crowd.
Leicester will play Roma for a place in the final in Tirana on May 25, after the Serie A side overturned a 2-1 first-leg deficit against Norwegians Bodo/Glimt with a 4-0 thrashing.
"We are a team that is so young in European football," Leicester manager Rodgers told BT Sport.
"PSV have an incredible history in Europe and for us we are so young –- these are great experiences for us and I am so happy for the players."
The first real chance of the game fell to PSV's Mario Goetze in the 13th minute, but the German's volley was kept out of the net by a magnificent, one-handed save from Kasper Schmeichel.
Leicester should have taken the lead minutes later as Harvey Barnes raced clean through on goal, but the England winger slipped his effort agonisingly wide of the far post.
Schmeichel had to be alert again in the 25th minute to tip away Mauro Junior's low shot, but PSV did forge ahead shortly afterwards.
Goetze intercepted Youri Tielemans' loose pass just outside the Leicester box, before laying the ball off for Zahavi to drill a fine strike into the bottom corner.
Leicester almost levelled just after the half-hour mark, but Jordan Teze hooked Maddison's deflected effort off the line.
The visitors pressed in the second half but had to wait until the 77th minute to equalise.
Substitute Ayoze Perez did brilliantly to get to the byline and pull the ball back for Maddison, who picked out the roof of the net to score for the 14th time this season.
A PSV fan threw a cup at the celebrating Leicester players, before a two-minute delay.
The Foxes completed their comeback with just two minutes of normal time remaining, as Pereira pounced on a rebound after Patson Daka's shot was saved.
- Zaniolo sends Roma through -
Nicolo Zaniolo scored a brilliant hat-trick as Roma cruised past Bodo/Glimt at the Stadio Olimpico to win 5-2 on aggregate.
It was revenge for the capital club after an embarrassing 6-1 thumping by Bodo/Glimt in the group stage and the defeat last week in an ill-tempered clash.
England striker Tammy Abraham gave Roma the perfect start with his 24th goal of the season in the fifth minute.
Zaniolo scored three excellent finishes with his left foot, all coming at the end of sweeping moves from the home side.
Marseille also booked their place in the last four as Dimitri Payet scored for the second time in the tie -- a 1-0 victory over PAOK in Greece sealing a 3-1 aggregate success.
Marseille may have to play the home leg of their semi-final behind closed doors after UEFA opened an investigation into violence before last week's first leg.
The Ligue 1 club will take on Feyenoord in the semis, after the Dutch outfit won 3-1 against Slavia Prague in the Czech capital after a 3-3 first-leg draw, with Cyriel Dessers netting twice.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO_Sports and on Facebook at AhramOnlineSports.)