Striker Arnaut Danjuma scored as Villarreal stunned Bayern Munich in the first leg of their Champions League quarter-final tie.
The home side were superb from the outset and led inside 10 minutes when Danjuma stabbed in from close range.
Francis Coquelin had a goal ruled out while Gerard Moreno hit the post as Villarreal pushed for a second.
German champions Bayern were well below par and did not manage a shot on target until the second half.
Robert Lewandowski, who has scored 51 goals for club and country this season, was kept quiet by a well-organised Villarreal defence as the hosts followed up their impressive win against Juventus in the previous round with another big result.
But as poor as Bayern were they will feel they can turn things round against the Spanish side in the return leg on Tuesday, 12 April.
They will need to play significantly better than they did in this game as they suffered their first Champions League defeat away from home since 2017.
Indeed, Bayern’s players will likely come away relieved that they only have a one-goal deficit as Villarreal had a plethora of chances to win by a bigger margin.
Coquelin was narrowly offside before seeing his cross fly over Manuel Neuer’s head and as well as Moreno’s shot against the post they really should have got a second in the final few minutes when substitute Alfonso Pedraza shot wide from close range.
Kingsley Coman saw an effort saved by Geronimo Rulli at his near post in stoppage time but an equaliser would have been supremely harsh on brilliant Villarreal, who understandably celebrated wildly when the full-time whistle was blown.