(CNN) -- Third division side Polideportivo El Ejido provided the story in Wednesday's Copa del Rey last 16 first-leg matches, as they stunned Primera Liga Espanyol 3-2.
However, there was no such joy for fellow-third division side Real Union, who were beaten 1-0 at home by Real Betis.
Ejido had beaten Villarreal in the previous round, but they looked to be heading for a first leg defeat when Moises Hurtado nodded Espanyol into a 16th minute advantage.
However, the home side rallied and Jorge Molina's 50th-minute penalty and Juli Cerda's 60th-minute strike put them ahead.
A 72nd minute chip from Roman Martinez appeared to have earned Espanyol a draw, only for midfielder Jose Antonio "Chico" Diaz to produce a spectacular long-range winner four minutes later.
The winners of the match will face the might of Barcelona, who beat Atletico Madrid 3-1 on Tuesday with a Lionel Messi hat-trick.
Real Union, which eliminated Real Madrid in the previous round, fell to Betis midfielder Damia Abella's solo effort in the 12th minute.
A bad-tempered match at Racing Santander saw holders Valencia have left- winger Vicente Rodriguez and right-back Miguel Brito sent off in separate incidents in a 1-1 draw.
Miguel lost his temper after his red card, running up to the assistant referee and shouting insults. The Portugal international had to be dragged off the field by his coach Unai Emery.
Valencia took the lead in the 37th minute when Santander midfielder Gonzalo Colsa glanced a header past his own goalkeeper.
Santander defender Ezequiel Garay then missed a 49th-minute penalty, but midfielder Mehdi Lacen leveled for the home side in the 55th minute with a low free-kick which curled around the Valencia wall.