Anthony Lozano put the visitors up after 38 minutes before Alfonso Espino doubled Cadiz’s lead five minutes later. Although Santi Mina pulled one back just after the hour mark, Cadiz ultimately held on.
Defeat meant Celta Vigo have claimed just one point from their opening five matches and sit third bottom in the table.
Torino leapfrogged Sassuolo in Serie A after substitute Marko Pjaca struck six minutes from time to hand Il Toro a 1-0 away win.
In Ligue 1, Ludovic Ajorque’s seventh-minute penalty was followed by a first-half brace from Habib Diallo as Strasbourg brushed aside Metz 3-0.
And in the Bundesliga Jurgen Ekkelenkamp’s strike and Maximilian Bauer’s own goal, with Ekkelenkamp involved, helped Hertha Berlin come from behind to win 2-1 against rock-bottom Greuther Furth, who had gone ahead through Branimir Hrgota’s spot-kick.