Barcelona are five points adrift after seeing an early lead slip away against a side who began the game already condemned to the Second Division but who beat them in the Nou Campearlier in the season.
Bobby Robson's side went ahead through Luis Enrique Martinez but were always short of fire-power upfront in the absence of Ronaldo and his injured deputy, Juan Pizzi. Hercules struck back through Paquito Escudero, with Dubravko Pavlicic hitting the winner midway through the second half.
Real Madrid also struck early, with the Extremadura goalkeeper Navarro Montoya helping home a shot from Raul Gonzalez. But unlike Barcelona, Real went from strength to strength, and cruised to victory with two goals each from Davor Suker and Clarence Seedorf.
Parma clinched a place in the Champions' League next season after beating relegated Verona 2-1 on the last day of the Italian Serie A season yesterday to finish runners-up to Juventus.
The Argentine striker Hernan Crespo scored the winner for Parma in the 64th minute after Pierluigi Orlandini had given Verona the lead in the sixth minute and Enrico Chiesa levelled the scores after 17 minutes.
Internazionale drew 2-2 with Bologna to finish third and Udinese made sure of a place in the Uefa Cup for the first time in their history by beating a 10-man Roma 3-0. They join Inter, Lazio and Sampdoria. Vicenza are in the Cup Winners' Cup.
At the bottom, Piacenza beat Perugia 2-1, staving off relegation for at least another match. Cagliari beat Milan 1-0 at San Siro to finish level on points with Piacenza and Perugia.
Perugia are relegated with Verona and Reggiana, while Cagliari and Piacenza must play off at a neutral venue to decide which of the two survives.