The clubs were separated by 40 points and 16 places coming into the match but it was third-bottom Valladolid who emerged victorious thanks to Fausto Rossi's first-half strike.
Second-placed Barcelona had several chances to get back into the match but could find no way past Valladolid keeper Diego Marino, and Gerardo Martino's men could now find themelves four points adrift of Real Madrid if the pacesetters beat Levante on Sunday.