Celta Vigo are to face Barcelona in a second leg on Wednesday after losing 1-0 at the Camp Nou.
The Catalans opened the scoring in the 13th minute through Andres Iniesta and Luis Suarez, who were on the wrong end of a late challenge by goalkeeper Thibaut Courtois.
However, the hosts levelled just before the break thanks to Andres Gamboa’s goal.
But the hosts managed to salvage a point from the break as they hit the front again in the 33rd minute.
Iniesta was called into action again to head home the opener, before a second Suarez strike found the net after Courtoys poor clearance.
After the break, Iniesta put Celta back on the scoreboard with a goal and a brace.
Barcelona remain without a win in their last nine matches in all competitions, while the Catalans are undefeated at home this term.