Barcelona had to come from behind to seal a 2-1 victory over Galatasaray and book their place in the Europa League quarter-finals.
Xavi's men attempted to dominate possession early on but Galatasaray had the game's first real chance. Through on goal, Bafetimbi Gomis but saw his shot repelled by a desperate lunge from Jordi Alba.
Frenkie de Jong found himself in a similar position a few minutes later. The Dutchman really should have scored but dragged his effort wide under little pressure.
The opener came shortly before the half-hour mark from Galatasaray captain Marcao, whose diving header nestled perfectly into Marc-Andre ter Stegen's side netting. The defender booted the corner flag in celebration, breaking it and forcing a two-minute delay while it was fixed.
Pedri looked a real threat for Barcelona and netted his side's equaliser ten minutes later. The young midfielder sat two defenders down before firing home from close range.
Barcelona nearly went ahead with the final kick of the first half. Pierre-Emerick Aubameyang was at full stretch to connect with a cross, but his looping header hit the top of the crossbar and went behind.
They would eventually get that go-ahead goal a few minutes after the break. Inaki Pena made two excellent saves to deny Sergio Busquets and Pedri, but he could not get to the final effort from Aubameyang, who tapped home to keep his outrageous run of form going.
That goal changed the tone of the whole game. Barcelona began to dominate possession and control everything about the match, and although clear-cut chances were at a premium, Barcelona looked comfortably on top.
Unfortunately, the game ended on a bit of a sour note. Alba's perceived timewasting drew the ire of the home fans, who began launching missiles in his direction. The left-back responded by hoofing the ball into the crowd, kicking off a bit of an on-field skirmish.
Things soon calmed down and Barcelona should have killed the game off with a third, only for Ferran Torres to strike the crossbar with an effort that VAR probably would have ruled onside had he scored.
Barcelona player ratings vs Galatasaray
1. Goalkeeper & defenders
Marc-Andre ter Stegen (GK) - 5/10 - Not his best performance. Didn't even dive for the opening goal.
Sergino Dest (RB) - 7/10 - One of his most comfortable games of the season. Had the better of danger man Aktürkoglu before going off with a hamstring injury.
Eric Garcia (CB) - 6/10 - Plays like more of a midfielder at times. Stepped out from the back really, really well, but wasn't exactly solid when it came to actual defending.
Gerard Pique (CB) - 6/10 - Some solid defending. Had to do all the battling up against Gomis as Garcia was far too weak.
Jordi Alba (LB) - 6/10 - Looked a little timid at both ends of the field but didn't get much wrong.
Sergio Busquets (DM) - 6/10 - Left exposed by the rest of the midfield but coped fairly well.
Frenkie de Jong (CM) - 7/10 - Should've opened the scoring early on but got back on top of the game in the second half. His high press was key to turning the tide of the match.
Pedri (CM) - 8/10 - Showed some outrageous composure for his goal. Plays with such authority for someone so young.
Adama Traore (RW) - 5/10 - Ran into a few cul-de-sacs before being taken off at half-time.
Pierre-Emerick Aubameyang (ST) - 6/10 - A bit clunky in the first half but showed a real poacher's instinct to get himself in the right place for his goal.
Ferran Torres (LW) - 4/10 - Barely involved in the game at all. Really struggled and was overshadowed by everyone else in Barcelona's attack.
Ousmane Dembele (RW, 46' for Traore) - 6/10 - Kept things simple and was really effective in doing so.
Ronald Araujo (RB, 56' for Dest) - 6/10 - Some impressive work given he is out of position. An excellent block late on.
Gavi (CM, 68' for De Jong) - 6/10 - His energy was infectious but he sometimes took it too far. A few niggly fouls.
Clement Lenglet (CB, 81' for Pique) - N/A
Memphis Depay (ST, 81' for Aubameyang) - N/A