Sergino Dest, Clement Lenglet, Frenkie de Jong and Memphis Depay all came into the Catalan's line-up after the Europa League loss to Eintracht Frankfurt last Thursday.
The hosts looked to get off to a good start when Ferran Torres forced Jeremias Ledesma into a good save on four minutes after being set up by Ousmane Dembele.
Cadiz, meanwhile, had to wait until the 27th minute for a sight at goal when Sobrino unselfishly teed up Lucas Perez, who skewed his effort wide of the target from close range.
Dembele looked to take matters into his own hands shortly before the break after skipping past one challenge before unleashing a strike that forced Ledesma to parry away from goal.
The visitors took the lead shortly after the halftime break after Perez fired into an empty after Marc-Andre Ter Stegen could only parry Sobrino's header.
With the home side trailing, manager Xavi Hernandez called on the services of Pierre-Emerick Aubameyang in place of the in-effective Depay for the final 30 minutes.
Barcelona were lucky not be two goals on 76 minutes when Alex got on the end of Alejo's drilled cross before firing wide of the upright from close range.
Ledesma came Cadiz's rescue in the final stages of the half with a superb reaction save to deny Aubameyang from close range after Jordi Alba's cross.
Aubameyang had a chance to snatch an equaliser in the 89th minute after getting on the end of Jordi Alba's cross, but the Gabonese striker saw his first-time strike saved by Ledesma, who ensured Cadiz walked away with maximum points.