The home side were the most threatening in the opening periods, with Andrija Zivkovic having an attempt from outside the AZ box blocked.
Serbia international Zivkovic took the resulting corner, finding the head of Aboubakar Oumarou who did well to give Partizan an early lead.
The Serbian Superliga side continued to threaten as Ivan Saponjic hit a shot over from within the six-yard box, but it was AZ who grabbed the game's second goal when Jop van der Linden finished from close range with just over 10 minutes to go in the first half.
The scoreline failed to remain that way for long, however, and Partizan went ahead for the second time five minutes later when Oumarou scored his second of the night after receiving the ball from Miroslav Vulicevic.
Into the second half, and Gregor Balazic watched his header go wide of the left post following a corner, while Jeffrey Gouweleeuw forced Zivkovic into another save after a header from close range with less than 30 minutes remaining.
Henriksen had a second attempt saved by Zivkovic with 15 minutes remaining, before Hupperts received a second yellow card for AZ after tripping Nikola Lekovic.
Partizan took full advantage of the 10-man team in the 89th minute, with Zivkovic finishing off a Marko Jevtovic through-ball with a shot into the bottom corner.
The game looked to be sealed with five minutes of stoppage time, but Henriksen eventually grabbed the goal he had been seeking all night to put AZ 3-2 behind with two minutes left to play. It was not quite enough, however, and Partizan finished the night winners.