Two goals in seven minutes from Paco Alcacer and Javi Fuego put Champions League-chasing Valencia in the driving seat, while Real’s misery was compiled when Cristiano Ronaldo missed a penalty in a lively first half at the Bernabeu.
Real regrouped in the second half as Pepe headed home to halve the deficit and a sensational long-range Isco strike drew them level in the closing stages but Carlo Ancelotti’s side could not find a winner and subsequently trail Barca, who earlier beat David Moyes’ Real Sociedad, by four points with two games remaining.
Barca will win their fifth title in seven years if they can beat reigning champions Atletico Madrid at the Vicente Calderon next Sunday.
Real defender Sergio Ramos called on his team-mates to put their midweek Champions League semi-final first leg defeat against Juventus behind them with a positive display against Valencia but they fell behind after Ronaldo and Gareth Bale had rattled the woodwork with a header and free-kick respectively.
The Bernabeu crowd were stunned into silence on 19 minutes when Alcacer poked a fine cross from Jose Gaya beyond keeper Iker Casillas to give Valencia the lead against the run of play.
Valencia grew in confidence after taking the lead and doubled their advantage shortly before the half-hour mark when Fuego headed a probing Daniel Parejo cross beyond Casillas and into the net.
Javier Hernandez hit the post with a scuffed right-footed effort before the first half ended in dramatic fashion.
Real were handed a lifeline when referee Clos Gomez pointed to the spot after Bale was felled in the area but Ronaldo’s spot-kick was comfortably saved by Diego Alves and the Portugal captain fluffed his follow-up attempt.
Los Blancos did get on the scoreboard early in the second half when, shortly after Bale failed to hit the target with a close-range volley, Pepe rose high above the Valencia defenders to head James Rodriguez’s corner into the net.
The reigning Champions League winners were proving to be a real handful from set-pieces and Ramos’s 73rd-minute bullet header appeared destined for the top corner only for a fully-stretched Alves to claw the ball to safety.
Valencia struggled to cope with wave after wave of Real attacks but second-half substitute Alvaro Negredo wasted two glorious chances in quick succession to put the game out of reach.
The on-loan Manchester City forward’s wastefulness came back to haunt Valencia as Isco fired into the top corner from outside of the area to draw Real level with six minutes of normal time remaining.
Cheers went up around the stadium when the third official signalled five minutes of added time would be played but, try as they might, Real could not find a winner to all but hand the title to their fierce rivals.