It seemed their hopes of staying in the top flight were finally looking up when, having dominated the preceding 86 minutes, Santander's Victor Vitolo and Felipe Melo were shown red cards and Real were awarded a potentially season-saving penalty.

But, with the stakes piled high, Mikel Alonso struck tamely at Juan Calatayud and Real finished with a point when they should have had three.

Now, ahead of their must-win trip to Valencia, they sit three points off safety and need Athletic Bilbao to lose to struggling Levante and Celta Vigo to slip against Getafe if they are to stay up.

The odds now look very slim, but for 90 minutes in this match they looked ready for the challenge.

Only 10 seconds had elapsed when Sociedad indicated the significance of the tie, Jon Ansotegui hacking Antonio Tomas to the ground with a brutal challenge.

Tomas duly returned the favour four minutes later - sparking a series of mini-battles over the pitch in the coming moments - but aside from the warfare some chances were being created.

Inigo Diaz came close for Real, first heading Savio Bortolini's cross wide before sending Aitor Lopez's assist the same way.

In between, team-mate Daniel Estrada skied a 25-yard drive and Sociedad pair Darko Kovacevic and Diaz received yellow cards, but Racing had the best chance of the half when Gonzalo Colsa had a piledriver tipped over by Asier Riesgo five minutes before the break.

The second period began in similar fashion to the first, Ansotegui charging in and committing a foul - this time against Pedro Munitis - while Diaz wasted another chance to get the all-important goal when he blasted wide from the edge of the area.

The frustration was beginning to show among the Real players, a flurry of fouls being conceded within 10 minutes of the restart, but half chances continued to fall their way.

Kovacevic capitalised on one such opportunity in the 56th minute, blasting the ball through a small opening in the Racing defence only to see Calatayud get a finger to the shot and deflect it over the bar.

Racing's Juango and Real's Savio then had long-range efforts as the half wore on, but like German Herrera's header and Victor Vitolo's 30-yard drive they fell short and the game entered its final 10 minutes with nothing separating the sides.

Then, with four minutes remaining, Real got the chance they needed when Kovacevic was fouled by Melo in the area.

Melo was dismissed for a professional foul, Vitolo saw red for his remonstrations and Alonso, who moments earlier came close from 18 yards, had his soft penalty caught by Calatayud.