The points looked like they were heading in only one direction when the Primera Division side took a two-goal lead inside nine minutes - Diego Buonanotte opening the scoring and Sebastian Fernandez profiting from a goalkeeping error.
But Zenit fought back well and goals from Danny (49) and Viktor Fayzulin (86), earned them a share of the spoils.
Zenit, who needed a win to have a realistic chance of progressing, started positively only to see Malaga take the lead with an efficient counter-attack in the eighth minute. Fernandez broke free on the right hand side and quickly sent the ball into the box for Buonanotte, who took a clever touch to take himself clear of Aleksandr Aniukov and then powered his shot past Viacheslav Malafeev.
If that was an early disappointment to the home side's hopes, what followed just a minute later was a hammer blow.
Malafeev was to blame, looking to play a short ball to Bruno Alves but only succeeding in gifting Roque Santa Cruz possession in a dangerous position. The Paraguayan calmly found Fernandez in the centre and he converted with ease.
It took Zenit just four minutes of the second half to get themselves back in the game and on the scoreboard, Danny taking down Tomas Hubocan's crosswith a neat touch before opening his body and finding the bottom corner with a delicate finish from six yards.
It looked as though Zenit would leave with nothing when Danny contrived to make a mess of his feet to completely botch an open-net from from a matter of inches - failing even to make proper contact.
But the ball was cleared only as far as Fayzulin at the edge of the area and he produced a cool finish to spare his team-mate's blushes.
|Zenit St Petersburg||Team Statistics||Málaga|
|0||1st Half Goals||2|
|8||Shots on Target||5|
|5||Shots off Target||4|
|61.3||1st Half Poss.||38.7|
|53.7||2nd Half Poss.||46.3|