Valencia suffer first defeat
The visitors, who face Rangers in the Champions League at Ibrox on Wednesday, started the day as unbeaten league leaders and deservedly went ahead before the break through Pablo Hernandez.
Barca improved in the second half, though, and Xavi set up Iniesta and Puyol as Barca took all three points with Valencia goalkeeper Cesar Sanchez preventing a heavier defeat.
Advertisement
Hide AdAdvertisement
Hide AdThe champions, who had been trailing in fifth place, went joint top with Valencia with 16 points, before Real Madrid's late game at Malaga.
Earlier, Atletico Madrid overcame local rivals Getafe 2-0 with goals from Simao, whose free kick went in after hitting the post and then the keeper, and Diego Costa.
In Italy, Alexandre Pato continued his rich vein of form with two goals in AC Milan's 3-1 win over Chievo which powered the hosts to the top of Serie A last night.