Barcelona reached the last 16 of the Champions League despite being held to a 1-1 draw by a determined Basel at the Nou Camp on Tuesday.
Substitute Lionel Messi put Barca in front when he exchanged passes with Thierry Henry on the edge of the area and placed a precise left-foot shot into the bottom corner of the net past Franco Costanzo in the 62nd minute.
Tuesday night's results
Anorthosis 3 - 3 Inter Milan
AS Roma 3 - 1 Chelsea
Barcelona 1 - 1 Basel
Cluj 1 - 2 Bordeaux
Liverpool 1 - 1 Atlético M
Marseille 3 - 0 PSV
Sporting 1 - 0 S. Donetsk
W. Bremen 0 - 3 Panathinaikos
The Primera Liga leaders looked to be cruising but were rocked by a fine goal from Eren Derdiyok with eight minutes left, the Basel forward lashing in a first-time shot from a right-wing cross by midfielder Carlitos.
Barcelona top Group C with 10 points, ahead of Sporting on nine who are also through to the knockout stage. Shakhtar have three and Basel one.
"It took us a bit of effort to get into the match and exert our superiority," Barca coach Pep Guardiola said in a television interview. "But we have qualified for the last 16 and that's great news."
The Catalans thrashed Basel 5-0 away two weeks ago but Guardiola left Messi, Samuel Eto'o and Xavi out of the starting lineup and they found it much more difficult to break the disciplined Swiss down at the Nou Camp.
The introduction of Messi and Xavi gave Barca the cutting edge they lacked and the Spain midfielder went close with a freekick on 65 minutes before defender Gerard Pique put a header against the post from a tight angle.
Barca midfielder Andres Iniesta was replaced by Eto'o in the second half with what looked like a strain to his left thigh, while Henry was lucky not to be sent off just before halftime when he lashed out with both arms at Carlitos, bloodying the Basel midfielder's nose.