Alexis Sanchez had given the hosts a deserved early lead, but goals just before and after half-time from Dani Parejo and Pablo Piatti turned the game on its head.
Lionel Messi quickly levelled from the penalty spot, only for Paco Alcacer to strike the winner low past Victor Valdes five minutes later.
And Barça's day was summed up 13 minutes form time when Jordi Alba was sent-off for a second bookable offence.
Both Atletico Madrid and Real Madrid now have the chance to end Barça's record run of 59 league games at the top of the table when they face Real Sociedad and Athletic Bilbao respectively on Sunday.
Valencia came into the game off the back of a busy couple of days in the transfer market as five players left and four arrived in the final 48 hours of the January window.
None of Los Che's new men were signed in time to make the starting line-up, though, and they suffered a terrible start as Sanchez's shot looped up over the stranded Alves after just seven minutes.
Barça should have then built on their lead as Alves made a brilliant save to prevent Sanchez doubling his tally with a header from point-blank range, whilst Sergio Busquets, Messi and Dani Alves all came close.
However, Barça's intensity dipped after the opening half hour and Valencia missed a great chance to equalise when Ricardo Costa headed wide when presented with an open goal after Victor Valdes completely misjudged a corner from the right.
Valencia did level just before the break as Parejo swept home Sofiane Feghouli's low cross.
And the visitors went in front just three minutes after the restart as Piatti took advantage of more hesitation by Valdes to loop a header into the net.
Messi showed no mercy form the spot as he rifled high into the roof of the net to register his first league goal in nine games stretching back to September.
However, it took Valencia just five minutes to retake the lead as Alcacer slotted home another intelligent cut-back from Feghouli.
Barça boss Gerardo Martino then introduced Andres Iniesta in a bid to turn the game around, but it made little difference as his flustered side failed to find any sort of rhythm.
Their chances to taking anything from the game appeared to disappear with Alba as he was sent off against his former club for a bodycheck on Feghouli.
But Messi had one final chance to rescue a point as he danced past a posse of Valencia defenders in before slotting just past the far post in stoppage time.