كتب : Hatem Maher
Santi Cazorla put the hosts ahead after just three minutes before Marcos Senna doubled the lead in the 14th minute from the penalty spot.
Barca youngster Bojan Krkic pulled one back for the visitors 11 minutes later.
However, Senna once again converted a penalty to kill off Barcelona's hopes and condemn them to their first defeat of the campaign.
Yellow Submarines Villarreal became second in the league table with 18 points, one adrift of leaders Real Madrid who face Espanyol later on Saturday.
Valencia sit third due to their inferior goal difference to Villarreal after defeating Deportivo Coruna 4-2 away from home.
Spanish winger Joaquin fired Valencia in front after 10 minutes and Ruben Baraja added the second six minutes later.
Xisco pulled one back in the 29th minute but Fernando Morientes made it 3-1 just before the break.
The former Liverpool man put the result beyond doubt in the 74th minute before Rodolfo Bodipo netted for Deportivo two minutes from time.
Brazilian striker Luis Fabiano scored in the first 15 minutes to lead UEFA Cup winners Sevilla to a 2-0 victory over Levante.