Lionel Messi's 16th goal of the season, also from the penalty spot, had given Barca a first-half lead as they looked to bounce back from a 4-1 midweek defeat to Paris Saint-Germain in the Champions League.
Chances came and went for Barca to double their lead and they were made to pay for their wastefulness when Fernandez, brother of Real Madrid defender Nacho, earned the visitors a point in the 89th minute after Clement Lenglet fouled Ruben Sobrino.
Messi's goal moved him level with Luis Suarez as the top scorer in La Liga this season, while he also surpassed Xavi Hernandez as Barca's record appearance holder in the Spanish top-flight. He has now played 506 league games for the club.
Barca missed a golden chance to cut the gap on leaders Atletico Madrid, who lost to Levante on Saturday, as their winning streak ended at seven. The draw moves them within eight points of Atletico, but it could, and should, have been six.
The game was lost at both ends. Despite Cadiz -- who are the last team to beat Barca in the league, in December -- sitting deep, Ronald Koeman's side found plenty of space in the final third, but their finishing and decision-making was woeful. They ended the game with 21 shots but just one goal. They were slow on the ball across the pitch and at the back, where they had little to do, a moment of madness from Lenglet cost them two points at the death.
Manager rating out of 10
5 -- Koeman stuck with the same players who lost to PSG, offering them a chance of redemption. They didn't take it and his decision to make all five changes in the second half ruined the rhythm of the game.
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
GK Marc-Andre ter Stegen, 6 -- Didn't have a save to make from open play but conceded from a late penalty.
DF Gerard Pique, 6 -- Completed 90 minutes for the first time since returning ahead of schedule from a knee injury after three months out.
DF Clement Lenglet, 4 -- An unforgivable mistake to take Sobrino out late on when Cadiz were offering little-to-no threat in the final third.
DF Jordi Alba, 6 -- Tried to help in attack but didn't have much joy down the left. Shot wide from distance in the first half.
MF Sergio Busquets, 6 -- Looked comfortable and in control of the game as he sat just inside the Cadiz half dictating Barca's moves before being taken off.
MF Frenkie de Jong, 6 -- Has had better performances recently and is better suited to a more open game. Did have a goal ruled out for offside.
MF Pedri, 7 -- Barca's best player. Won the penalty thanks to his quick reactions and offered the most incisive passing in and around the area, creating good chances for his teammates. Like De Jong, had a goal ruled out.
FW Ousmane Dembele, 6 -- Didn't stop running at the Cadiz backline but erred when it mattered. The majority of his six shots were off-target or blocked.
FW Lionel Messi, 6 -- Scored the penalty and came close to a couple more goals, drawing one good save from Jeremias Ledesma in the first half. Ended the game with eight shots but just one goal.
FW Antoine Griezmann, 5 -- Not involved enough in the final third and was taken off in the second half.
FW Martin Braithwaite, 6 -- Came on for Griezmann and while he was more involved, he didn't offer a cutting edge in the box.
MF Miralem Pjanic, 6 -- Replaced Busquets and had one chance from distance, driving wide.
FW Francisco Trinaco, N/R -- Deserved more minutes after his recent performances but came on too late to make a mark here.
MF Riqui Puig, N/R -- Given the final 10 minutes in place of Dembele.
DF Oscard Mingueza, N/R -- Had one great chance to cross but chopped back instead and the opportunity passed.