A Luis Suarez goal was the difference between the top two Spanish sides on Sunday.
Leaders Real Madrid got their noses in front first with a goal from Jeremy Mathieu, but Barcelona equalised through Ronaldo before half-time.
Suarez put the result beyond the visitor’s reach with less than half-an-hour to go, Barcelona hanging on to the single goal advantage until the whistle.
The result puts Barcelona top of the league, and sends Real Madrid into second place. Valencia are third.