Updated

San Sebastian, Spain (SportsNetwork.com) - Barcelona dropped from the top of La Liga on Saturday after sustaining a 3-1 defeat at Real Sociedad, while Real Madrid took advantage to climb into first place with a 3-0 triumph over Elche.

Barca started the weekend on top of the league based on goal difference while Real Madrid and Atletico Madrid were even on 60 points.

But the Catalans got off to a poor start, and outside of a nice piece of skill in the first half, were below par for much of the contest.

Alex Song's own goal in the 32nd minute gave Sociedad the lead as the former Arsenal man redirected a cross from Sergio Canales into his own net.

Lionel Messi pulled Barca back level within four minutes as he capped off a nice build up with a clinical finish into the bottom right corner from just inside the penalty area.

However, Sociedad was the more dangerous side as the second half began and the hosts regained the lead in the 54th minute when Carlos Vela collected a long punt down field from goalkeeper Claudio Bravo and squared the ball to Antoine Griezmann for a first-time finish.

Griezmann had a hand in Sociedad's third goal as well with a perfectly-placed cross from the right wing that allowed David Zurutuza to cut in front of goalkeeper Victor Valdes and redirect the ball into the net, putting the hosts up 3-1 with half an hour to play.

Barcelona had no way back and Sociedad nearly added a fourth goal when Vela struck the post from eight yards.

That result allowed Real Madrid to go three points clear at the top of the league after brushing aside Elche, 3-0.

Asier Illaramendi tallied his first goal for Madrid in the 34th minute before a stunning strike from Gareth Bale in the 71st that clipped the bottom of the crossbar on its way into the net from 30 yards.

Isco came off the bench in the 74th minute and scored seven minutes later to cap the win, putting pressure on Atletico to win at Osasuna on Sunday.

Celta Vigo and Getafe played to a 1-1 draw as Rafinha tallied the equalizer in the 59th minute for Celta to cancel out a first-half strike from Getafe's Lafita, while Malaga and Almeria finished in a 0-0 draw.