Basel 1-0 Bayern Munich
Substitute Valentin Stocker's late goal gave Basel a stunning win over Bayern Munich at the St Jakob-Park.
Keeper Yann Sommer's peerless display - he made countless saves to frustrate Mario Gomez, Frank Ribery and David Alaba - had kept Basel in the game.
With the clock running down, Jacques Zoua threaded the ball through to Stocker who blasted past Manuel Neuer.
Earlier, Neuer had pushed Aleksandar Dragovic's header on to the post, while Alexander Frei also hit the woodwork.
It is not the first time this season Basel have pulled off a surprise in the Champions League - Heiko Vogel's side took four points off Manchester United in the group stages - but given the number of saves Sommer made Bayern will be wondering just how they lost this game.
It was difficult to keep track of the times the 23-year-old goalkeeper came to his side's rescue, notably in the first half when at times it seemed as if he was playing Bayern on his own.
After making a point-blank save from Ribery, the understated but very efficient Sommer then read the Frenchman's attempt to deceive him by getting down quickly to palm the ball past the post.
In the second-half, Sommer stood up until the last moment before saving a Gomez effort and then athletically parried Philipp Lahm's shot.
The Basel keeper also showed his bravery after that Lahm shot as Sommer attempted to gather the ball under an untidy challenge from substitute Thomas Muller, which earned the German international a booking.
Sommer's counterpart Neuer was equally impressive, notably when he spooned Dragovic's shot on to the post, showing lightning reactions to keep the score goalless.
Soon afterwards, Bayern and Neuer had a moment of good fortune when Frei turned quickly to sweep the ball home against the bar after he was picked out by Park Joo Ho's pass.
The second half never quite lived up to those opening see-saw 45 minutes, with Bayern enjoying the bulk of possession, but unable to find a way through Basel's last-ditch defending and that man Sommer.
And with Basel struggling to make any sort of attacking impact, a draw looked the best result Vogel's side might manage.
But substitute Zoua had more ambitious ideas as he drifted across the Bayern box, before picking out the unmarked Stocker, who fired a shot underneath the advancing Neuer.
Bayern's Allianz Arena will stage the Champions League final on 19 May, but if Jupp Heynckes' side are to get that far they need to plot a way past Basel - and Sommer - in the second leg on 13 March.
"We had two huge chances early on,'' said Heynckes. "It's important to take those chances so you can be relaxed approaching the rest of the game.
"We're not in an ideal position for the return game and we need to start winning."
Basel coach Vogel attributed the Swiss team's win to his players' "talent and quality and belief".
"It's very simple - we have an unbelievable will to win and a great understanding among the team."