UEFA Champions League: Shakhtar 0 Bayern 0
Bayern playmaker Alonso - making his 100th Champions League appearance - was sent off for a second bookable offence midway through the second half in Lviv to cap a frustrating evening for Pep Guardiola.
Guardiola's side dominated possession even after Alonso's dismissal, but were uncharacteristically wasteful in front of goal just three days after hammering Hamburg 8-0 in the Bundesliga.
Thomas Muller was presented with Bayern's best openings in a slow-paced first half but was unable to get enough on either of his shots at Andriy Pyatov's goal.
Alonso's red card robbed the game - which saw referee Alberto Undiano dish out eight bookings - of its tempo, and even the introduction of Robert Lewandowski from the bench could not spark Bayern into life.
The draw leaves the tie in the balance ahead of the return leg in Munich on March 11, with Shakhtar - who had not played a competitive fixture since their final group game against Porto over two months ago due - hoping that Bayern will be just as wasteful on home turf.
Byaern began on the front foot and after only two minutes, Arjen Robben's chipped pass found the unmarked Bastian Schweinsteiger on the edge of the area, but the Bayern skipper fired wide.
The in-form Robben was again on hand to create Bayern's next opening after 10 minutes, with his surging run into the Shakhtar half ending with a neat ball to Muller, only for the forward to scuff his effort.
Shakhtar looked rusty and were struggling to find their rhythm, but Bayern lacked their usual killer touch in front of goal and Guardiola's decision to leave Lewandowski out looked questionable on the half hour when Muller wasted a second chance of the half.
A neat one-two with Franck Ribery saw the 25-year-old stretching to convert from 12 yards, but he was unable to get a clean enough connection and blazed over.
The second half followed a similar pattern to the first, with the away side on top but struggling to test Pyatov, and Alonso had appeals for a penalty waved away four minutes after the break.
Alonso's evening came to an end soon after as he earned his second booking, the Spaniard bringing down Alex Teixeira with a clumsy challenge after 66 minutes.
Despite being a man down, Guardiola finally introduced Lewandowski with 15 minutes to play, but the Pole struggled to get into the game as Shakhtar claimed a creditable draw.