MADRID: Real Madrid raced three points clear at the top of La Liga after they beat Elche 3-0 while Barcelona slipped up 3-1 at Real Sociedad.

Asier Illarramendi gave Real the lead before the break but it took them until the 72nd minute to score again with a thundering long-range drive by Gareth Bale. Isco added a third goal with nine minutes left.

As for Barcelona they went behind through an Alex Song own goal before Lionel Messi equalised. Antoine Griezmann and David Zurutuza then struck after the break to send Barca to a defeat which could have been heavier – Carlos Vela hit the posts late on.

Barcelona also had coach Gerardo Martino sent from the bench at halftime for complaining to the referee.

In Germany Hakan Calhanoglu converted a remarkable 40m free kick as Hamburg ended a run of seven league defeats in a row by beating Borussia Dortmund 3-0 to celebrate new coach Mirko Slomka’s debut.

Second-placed Bayer Leverkusen’s troubles continued as they lost 3-1 at Wolfsburg after goals from Bas Dost, Luiz Gustavo and Ricardo Rodriguez. Bayer have lost four games in two weeks including a German cup exit at the hands of second division Kaiserslautern and a 4-0 Champions League beating by Paris Saint-Germain, both at home.

In Holland PSV Eindhoven’s Brian Ruiz scored his second goal in as many games as they beat NEC Nijmegen 2-0 to keep alive their hopes of qualifying for the Champions League next season.

Costa Rica forward Ruiz, who joined PSV from Fulham last month after an unsuccessful spell in London, opened the scoring before the hour-mark, with Memphis Depay adding a late second. PSV are in fifth place with 41 points from 25 games.

In Italy Belgian midfielder Radja Nainggolan scored his first goal for Roma as they edged struggling Bologna 1-0 away to move within six points of leaders Juventus. Nainggolan tapped in Miralem Pjanic’s assist eight minutes before the break to secure the victory that puts Roma on 57 points from 24 games.