Although fresh from an 8-0 weekend win over Hamburg in the Bundesliga, Bayern were unable to find the target in Lviv after being forced to scale back their forward ambitions when Xabi Alonso saw red in the second half.
Bayern Munich overcame the second half sending-off of Xabi Alonso on his 100th Champions League appearance to earn a 0-0 draw with Shakhtar Donetsk in the first leg of their knockout tie on Tuesday.
Shakhtar had been forced to play all their home games in Lviv in far western Ukraine due to the ongoing conflict in the east, but had been in dominant form at their adopted base ahead of the last 16 encounter.
Bayern, though, saw plenty of the ball but suffered from poor delivery at set-pieces, with Alonso and Franck Ribery the main culprits. They had eight shots to Shakhtar's one without seriously threatening the home side, who defended well and in numbers to keep alive their own quarterfinal hopes.
Shakhtar star man shackled
The visitors' best chance of the first period came in the second minute when Bastian Schweinsteiger was given space in the middle from a flighted forward ball by Arjen Robben, but could only slice his volley wide.
For the hosts, Luiz Adriano had been in impressive form in the Champions League this season, scoring nine of Shakhtar's 15 goals, including five in the 7-0 win at BATE Borisov and a hat trick in the 5-0 return fixture against the Belarusian side.
But Adriano - one of six Brazilians in the home starting 11 - was reduced to a bit-part player by Bayern with the first sight on goal for Shakhtar coming in the 25th minute. Xabi Alonso's tackle from behind on Alex Teixeira brought the Spaniard a yellow card and the hosts a free kick, which Yaroslav Rakitskiy could only stroke into the arms of Manuel Neuer.
On the half hour Bayern's Thomas Müller had his best chance but could not keep his shot down when stretching for the ball after neat interplay with Franck Ribery. Müller was then lucky to escape a caution after Vyacheslav Shevchuk required a bandage for a head wound sustained in a challenge with the forward.
Alonso sees red
In a more physical second half both sides appeared to lose some discipline. On 57 minutes what looked like an elbow in the face of Ribery from Douglas Costa was punished with only a booking, but it was Bayern who would pay the higher price.
On 65 minutes Alonso was given his second yellow card of the night by his compatriot Alberto Undiano Mallenco for clumsily bringing down Alex Teixeira as the Brazilian drove forward over the halfway line.
Bayern coach Pep Guardiola immediately sacrificed Müller for defender Holger Badstuber to protect his back line, before throwing on Polish international striker Robert Lewandowski for the final 15 minutes in an attempt to smash-and-grab a winner.
It was Robben who remained their most potent attacking weapon but for once the Dutchman could not find the breakthrough, as the game petered out into the goalless draw which should be enough for Bayern to book an eighth Champions League quarterfinal in the past 11 years.
Conflict puts game in context
Striker Müller had been philosophical ahead of Bayern's trip to Ukraine, which has been fighting pro-Russian separatists in and around Donetsk and the east of the country since last April.
"Somehow, it's a surreal situation. You know there is this terrible war out there, but you don't really realize it because you don't really know such a situation personally," said Müller at Monday's press conference.
Bayern decided not to travel to Lviv until Monday afternoon and were heading straight back to Bavaria after the match. Even then, they were playing closer to home than their visitors, with Lviv lying 1,050 kilometers (650 miles) from Donetsk but only 925 kilometers (575 miles) from Munich.
The two sides will meet at the Allianz Arena for the second leg on March 11.
Chelsea draw in Paris
In the night's other round of 16 game in the Champions League, a Branislav Ivanovic header gave Chelsea a first half lead at Paris St. Germain.
The home side equalized through Edinson Cavani on 54 minutes, however, and the game finished 1-1 to set up an intriguing second leg in London, also on March 11.