Barcelona defender Marc Bartra, right, can only look away after Real Sociedad scored Saturday.

Story highlights

Barcelona suffers a rare defeat in Spain, losing at Real Sociedad

Lionel Messi scores for Barca but it's not enough to prevent a 3-1 reverse

Real Madrid leapfrogs Barcelona after coasting past Elche

In Germany, a wonder goal helps Hamburg sink Borussia Dortmund

Follow us at @WorldSportCNN and like us on Facebook

CNN  — 

After a fine display against Manchester City in the Champions League, Barcelona couldn’t back it up in La Liga. Combined with Real Madrid’s victory, it means Barcelona was knocked off top spot in Spain.

Barcelona suffered just its third league loss of the campaign when it was beaten 3-1 at Real Sociedad, with manager Gerardo Martino sent off for complaining to the referee.

When Lionel Messi equalized in the 36th minute, most everyone must have thought Barcelona would go on to claim all three points. But two goals in a five-minute spell early in the second half handed Sociedad – now unbeaten in four games – all three points.

For once Barcelona failed to convert its possession – 65 percent – to goals and midfielder Andres Iniesta admitted Sociedad was the better side.

“Real played really well,” Iniesta told Barcelona’s website. “They were better than us, we were always trailing them.

“I don’t know if this is a step back, but the feelings after the match aren’t good. We didn’t interpret the game like we were supposed to, and we paid for it. Real had a better approach.

“This defeat shouldn’t make us give up. We have to work hard and turn this situation around. There are many points left, and we have games against direct rivals.”

Atletico Madrid can join city rival Real Madrid atop the standings and on 63 points, three more than Barcelona, if it wins Sunday.

Barcelona defender Gerard Pique wasn’t too concerned, though.

“We’re just one game off being league leaders so it’s not too troubling,” he said. “These things can happen. When you attack it’s possible for them to score. Sometimes you don’t feel comfortable on the pitch.”

Cristiano Ronaldo served the third game of his three-game suspension for Real Madrid but it didn’t stop Real Madrid from easing past Elche 3-0 at home.

Gareth Bale, who has struggled since moving to Spain from England’s Tottenham, scored his team’s second goal with a long-range effort into the top corner.

“Bale didn’t have confidence before scoring his great goal and after that he was totally different,” Real Madrid manager Carlo Ancelotti told reporters. “I am satisfied because we didn’t concede. Our play could have been better but at this stage of the season we need to be solid and we were.”

Hamburg stunner

Hamburg escaped the relegation zone in Germany in style, thumping fading Borussia Dortmund 3-0 at home in Mirko Slomka’s debut. Slomka replaced Dutchman Bert van Marwijk, who was sacked after Hamburg lost seven straight in the Bundesliga.

Hakan Calhanoglu scored one of the goals of the season when he shot past keeper Roman Weidenfeller from near the halfway mark – on a free kick.

“I practice (free kicks) every single day,” the Turkish under-20 international told the league’s website. “If you don’t, then you lose or forget your shooting technique. That’s why I knew I could do it. I just thought to myself, ‘Focus and hit it like in training.’

“It was the best goal of my career.”

Nurnberg scored two goals a minute apart in the second half to down last-place Eintracht Braunschweig but the game was notable for this: Three penalties were missed, a first in Bundesliga history.

Bayer Leverkusen’s 3-1 loss to Wolfsburg meant idle Bayern Munich maintained its hefty 16-point lead in first.

In Italy, Roma moved to within six points of leader Juventus with a 1-0 win at relegation threatened Bologna.