Matchens enda mål kom i den 25:e matchminuten genom Barcelonas Ivan Rakitic. Efter framspel tillsammans med Sergi Roberto chippade kroaten in bollen bakom Thibaut Courtois.
I den 37:e minuten stod Leonel Messi för en välplacerad frispark som var nära att utöka Barcelonas ledning. Men den fina vänsterskruven gick decimetern över.
Barcelona leder nu med tio poäng före Atletico Madrid (som har en match mindre spelad) och tolv för Real Madrid och stormar därmed mot ligatiteln i Spanien.
Det var den andra El Clasico-förlusten på bara några dagar för Real Madrid. Barcelona vann så sent som i onsdags när de slog ut Madridlaget i semifinalen i Copa del Rey.
Som vanligt blev det heta känslor inför de 78 921 åskådarna. Real Madrids Sergio Ramos drog på sig ett gult kort i den 61:a minuten vilket innebär att lagkaptenen är avstängd i nästa ligamatch mot Valladolid. Han var även inblandad i en situation med Messi där argentinaren blev liggandes på marken och tog sig för huvudet.