Unai Emery masterminded a 1-0 first-leg win in Spain, but a dominant Bayern looked seemingly in control once Robert Lewandowski broke the deadlock in the 52nd minute at the Allianz Arena.
But, with just his side's second shot on target across both legs, Chukwueze levelled on the break in the 88th minute to give Villarreal the lead on aggregate - and earn them an historic victory against the six-time European champions.
They will face the winner of Liverpool versus Benfica in the last four, a contest Jurgen Klopp's side currently lead 3-1 on aggregate.
"It's an extraordinary feeling, it was not easy for us," said Emery. "We are moving forward step by step, we had a quarter-final, very difficult, but our goal before this game was not to give a good image of us, it was to qualify.
"To achieve something, you have to do important things and beat the favourites. That [round of 16] game against Juventus gave us a lot of confidence.
"In the semi-finals, we will try to create circumstances so that we have our chances. Liverpool are a great team and Benfica too. It will be a great semi-final to enjoy."
Former Arsenal boss Emery has pedigree in European football, winning the Europa League twice with Sevilla as well as with Villarreal last season.
His side had already dumped out Juventus in the Champions League this time around, but few gave the Yellow Submarine a chance against a Bayern outfit that are nine points clear in the Bundesliga and chasing a 10th successive title.
Villarreal, meanwhile, sit seventh in La Liga, but Emery has moulded them to thrive under the lights on big European nights, pulling off another defensive masterclass and ruthlessly dispatching Bayern on the break.
Julian Nagelsmann sent out an uber-attacking line-up and what followed was a bombardment of pressure from the home side, albeit without creating any clear-cut chances in the first half.
Flying wingers Leroy Sane and Kingsley Coman contributed to Bayern's 18 crosses before the break, but that approach became predictable and Jamal Musiala's tame header was straight at keeper Geronimo Rulli.
Villarreal were not happy to simply sit on their lead, however, with Gerard Moreno proving a threat for the visitors at either end of the half, while Arnaut Danjuma, matchwinner in the first leg, fired off target.
Bayern's first opportunity after the interval fell to Dayot Upamecano, who side-footed over the crossbar from Sane's cut-back, before Lewandowski took it upon himself to pull Bayern level.
The 33-year-old, booked for a foul on Raul Albiol and perhaps fortunate to avoid a second caution for catching the defender again moments later, swivelled smartly from Thomas Muller's pass and squeezed a low effort into the corner off the post.
It was his 13th Champions League goal of the season and Villarreal became the 30th team Lewandowski has scored against in the competition, with only Cristiano Ronaldo, Lionel Messi, Karim Benzema and Raul netting against as many.
Muller then headed over and with every missed Bayern chance - and 45 shots mustered over the two legs - Villarreal became more confident they could snatch a goal on the break.
With two minutes of normal time remaining, they did so in clinical fashion.
Dani Parejo showed composure to start a move that was worked swiftly and superbly up field for Moreno to cross for Nigerian international Chukwueze to finish at the back post, just three minutes after coming on as a substitute.
"In the first leg we made the mistake of not finishing the tie and all the comments serve as motivation for us," said Moreno, after Villarreal reached the semi-finals for the first time since they lost to Arsenal in the 2005-06 campaign.
"They made the mistake today of not killing us off and we took advantage of that. What this team has done is great, we deserved to go through. We knew we were going to suffer in defence, but we were going to have our chances and, in the end, Chukwueze was able to make the most of it."