Barcelona sweeps Real Madrid and shakes the top of the league