Fabiano doubles saves Sevilla
The visitors, who started the day bottom and without a win in 12 consecutive matches in all competitions, had taken a surprise 2-0 first-half lead through Fernando and Duda.
The Andalucian derby was dominated by Sevilla but midfielder Fernando put Malaga ahead against the run of play as the hosts struggled to clear a corner after 22 minutes.
Sevilla created openings but again it was the visitors who struck when Duda netted with a precise finish just before the break.
Luis Fabiano cut the deficit with a towering header from a corner just before the hour and spun to fire the equaliser from the edge of the area in the 72nd but could not find a winner.
"We had the chance to spend the night as co-leaders with Real Madrid but failed to take it," Luis Fabiano told La Sexta television.
"Malaga played very well and we missed a lot of chances that normally we would score."
Malaga climbed off the foot of La Liga and moved up to 17th, ahead of the bottom three on goal difference with seven points.
Valencia conceded a late penalty to be held 1-1 at home by Real Mallorca. They are fourth with 25 points.
Spain striker David Villa had given them the lead just after the restart, poaching his 10th goal of the campaign.
But Valencia, who lost David Silva to injury in the first half, paid for failing to take their chances.
They gave away a soft penalty five minutes from time, when defender Bruno Saltor unnecessarily bundled over Gonzalo Castro. Mallorca's Borja Valero scored from the spot.
Earlier, Villarreal goalkeeper Diego Lopez kept out two penalties against Sporting Gijon but could not prevent his side slipping to a 1-0 defeat.
His first save came in the 75th minute, after his defender Gonzalo Rodriguez had been sent off for a foul in the area.
The Spain international parried Alberto Rivera's spot kick only to see Mate Bilic put away the rebound for the hosts. In the last minute he blocked a penalty from Bilic.
Sporting are seventh with 20 points, one behind sixth-placed Mallorca.