Espanyol drev upp bollen på högerkanten och bollen spelades in snett inåt bakåt till Oscar Melendo, 20, som placerade in bollen i den bortre burgaveln med en fint avvägd vänsterträff.
Det var heta känslor och domaren hade en tuff kväll med ideliga närgångna uppvaktningar. Allra mest hettade det till när han blåste straff för Barcelona efter en dryg timme.
Första hemmavinsten mot Barcelona sedan 2006
Sergi Roberto fick en spark mot benet och gick omkull efter något steg. Espanyolspelarna var vansinniga och jagade domaren innan straffen kunde slås.
Leo Messi slog straffen lågt i höger hörn men målvakten Diego Lopez, med ett förflutet i Real Madrid, var med och räddade.
Det var Espanyols första hemmavinst mot Barcelona sedan 2006. Barcelonas svit på 29 tävlingsmatcher utan förlust bröts nu.