Six-time European champions Bayern, who had won 12 of their previous 13 home games in the competition, levelled the tie when Robert Lewandowski drilled the ball in off the post after 52 minutes with his 13th Champions League goal of the season.
Yet despite controlling the game they failed to score again.
Instead, it was Villarreal, semifinalists in 2006, who netted against the run of play with Chukwueze beating goalkeeper Manuel Neuer with a left-foot effort to silence the home crowd.
"We feel a lot of happiness. Ever since the draw paired us with Bayern, we have been telling ourselves that we could do it," Villarreal forward Gerard Moreno said. "The belief and the way this team competes has helped us to achieve it."
"In the first leg we made the mistake of not finishing the tie, and all the comments serve as motivation for us. They made the mistake today of not killing us off and we took advantage of that."
Villarreal will play Liverpool or Benfica in the last four, with the English side leading 3-1 after the first leg in Portugal, with the return at Anfield on Wednesday.
Bayern coach Julian Nagelsmann fielded an attacking formation with Jamal Musiala, Lewandowski and Thomas Mueller upfront but they had only one effort on target in the first half with Musiala's weak header on the half-hour mark.
Villarreal, unchanged from last week's 1-0 win in Spain, were comfortable with staying back and efficiently absorbing the waves of Bayern attacks while remaining a threat on the break.
But Unai Emery's team looked out of sorts after the break, piling up errors and losing possession as Bayern instantly upped the pressure.
Bayern defender Dayot Upamecano should have done better when his shot from eight metres flew over the bar in the 49th minute but Lewandowski did not miss three minutes later.
Bayern intercepted a sloppy Villarreal pass and the Pole finished the quick move with a low drive off the post.
The Bavarians, who had scored a total of 20 goals in their previous four home games in the competition this term, came close to a second goal in the 71st but Mueller's diving header went wide.
It was left to Villarreal, Europa League winners last year, to punished the hosts with a sucker punch through Nigeria winger Chukwueze, to reach the semis for the first time in 16 years.
"Looking at just today's game we should have advanced," said Bayern's Mueller. "Accepting today's result ... I don't really know what to say. Conceding that goal is extremely bitter."