The Liga champions, who started with Lionel Messi and Luis Suarez upfront, took the lead when Arda Turan’s fine effort from outside the penalty area found the net.
Celtic hit back through Leigh Griffiths on 29 minutes, but parity lasted barely a minute as Efe Ambrose awkwardly turned into his own net.
Barcelona's Lionel Messi in action with Celtic's Scott Brown
Image credit: Reuters
Koeman walks out of press conference after reading statement requesting patience
An entertaining first period was rounded off through El Haddadi Munir’s goal, before the match regressed into a drab encounter as substitutions altered the flow.
Celtic face Astana in the second leg of their Champions League third qualifying round on Wednesday, with the tie finely poised at 1-1 after the first leg in Kazakhstan.
Exclusive: Barcelona talk just 'rumours', says tight-lipped Martinez
'No manager can turn this around' - Replacing Koeman won't fix Barca's problems - Inside Europe