Barcelona will need to beat AC Milan at the Nou Camp to ensure their place in the Champions League semi-finals after being held to a goalless draw in Italy.
The defending champions' claims for a penalty were turned down when Alexis Sanchez fell under Christian Abbiati's challenge in a dominant first half.
But Robinho and Zlatan Ibrahimovic had clear openings at the other end as AC Milan threatened on the break.
Cristian Tello was denied by a last-ditch block as Barca ran out of ideas.
The sides played out two pulsating games in Group H earlier in the tournament and AC Milan once again provided a fascinating counter to Barcelona's staccato passing style.
With the winners set to play the winners ofChelsea and Benfica's quarter-final, the Serie A leaders maintained their record of never having lost a home quarter-final tie in the competition.
The visitors created a raft of excellent chances in the opening half as they weaved passing patterns around Milan's defensive veterans Alessandro Nesta and Massimo Ambrosini.
But their finishing could not match the precision of their build-up play.
Xavi's toe-poke was clawed away by Christian Abbiati after a sharp one-two with Lionel Messi, before Sanchez could not quite burn off the pursuing Luca Antonini, allowing the left-back to get in a last-ditch block.
The Catalan side also had a strong claim for a penalty turned down by the officials after Sanchez was up-ended after he had peeled off the end of the Milan wall as part of a clever free-kick routine.
But in an absorbing contest, Milan also headed to the dressing rooms ruing what might have been.
Their pressing game frequently unsettled Barcelona and twice they carved through the remnants of the defending champions' rearguard after winning possession high up the pitch.
Robinho's awkward side-foot volley cleared the bar from six yards early on before Zlatan Ibrahimovic, playing against his former club, scuffed a shot into the grateful arms of Victor Valdes after holding Carles Puyol at bay.
The hosts continued to disrupt Barcelona's usually reliable supply lines after the break and Pep Guardiola's side could not muster the same sustained level of threat.
The more attack-minded Tello was introduced in place of Andres Iniesta and the 20-year-old wriggled away from Daniele Bonera before rippling the wrong side of the side-netting.
But it was rare opening as the ageing legs in the AC Milan side chased gamely and Barcelona's stream of attacking invention dried up.
Ambrosini, 34, slid in to block Messi's shot as the Argentine shaped to pull the trigger just inside the box, before Antonini stretched every sinew to get to a loose ball first with Abbiati out of position.
Their efforts were rewarded as Milan became the first side to keep a Champions League clean sheet against Barcelona for more than two years.
AC Milan coach Massimiliano Allegri: "We played better football after the restart, but in the first half we created several clear chances and despite not exploiting them, we gained in self confidence after such a performance. I think that the final result is fair, now we know we can get the qualification in Barcelona."
Barcelona defender Carles Puyol: "No matter who you play against you are always motivated and that's what Zlatan Ibrahimović showed out there. We tried to stop him and the rest of his team-mates and it worked out well for us."