Barcelona hade bud på ett 2-0-mål mot Real Madrid, men hemmalaget i Katalonien tog inte vara på sina chanser.
I stället vände "Los Blancos" efter två fullträffar av Jude Bellingham i den andra akten.
Xavi, huvudtränare i Barcelona, tycker att resultatet var orättvist.
- Vi dominerade matchen i 60 minuter. På 20 minuter gjorde Real Madrid två mål mot oss, men vi gjorde bara ett på 60. Vi förtjänade segern. Kanske överdriver jag lite, men det är min synvinkel från bänken. Madrid har sådana här saker för sig. När du släpper taget lite grand, då dödar de dig.
Förlusten innebär att Barcelona nu är trea i La Liga med fyra poäng upp till serieledande Real Madrid.