Barcelona beat Real Madrid to edge closer to La Liga title