Misfiring champions Real slumped to a 1-0 defeat against lowly Granada on Saturday, when Cristiano Ronaldo headed into his own goal after 22 minutes, to leave them third with 43 points from 22 games.
Fourth-placed Malaga climbed to 36 points after coming back from Helder Postiga's 13th-minute volleyed opener for the visitors at a sun-drenched Rosaleda.
Young playmaker Isco, who agreed an improved contract with the south-coast club during the week, levelled from the penalty spot in the 23rd minute, and both sides went on to hit the woodwork.
Manuel Pellegrini's side never really had complete control of the game, and there was no fairytale return for Brazilian forward Julio Baptista, who came on as a second-half substitute after some 15 months on the sidelines with injury.
Zaragoza had midfielder Jose Mari sent off for a second bookable offence at the end.
Leaders Barcelona, with 58 points, visit Valencia later on Sunday (1800 GMT), and second-placed Atletico Madrid, with 47, host Real Betis (2000).
They could extend their advantages over Real Madrid to 18 points and seven respectively with victories.