Sifiso Vilakazi opened the scoring for Wits on 9 minutes.
Sibusiso Hadebe equalised in the 65 minute, before Ntokozo Sikhakhane made it 2-1.
Subsitute Ryan Chapman made it 2-2 on 81 minutes, but Andile Khumalo put AmaZulu ahead again seven minutes later.
But Chapman scored a second on 90 minutes to earn a draw for the home side.
Wits were the more convincing in the first 45 minutes, passing the ball around and controlling play, while AmaZulu struggled to maintain possession.
In the eighth minute Asive Langwe whipped in a cross, but Pere Ariweriyai’s clearance bounced off his own post and away from danger.
AmaZulu were not so lucky a minute later, when Langwe’s sublime through ball set Sifiso Vilakazi on goal with just the keeper to beat, 1-0 to Wits.
On 13 minutes AmaZulu almost came back in it, when Sibusiso Hadebe curled a 25-yard free-kick around the wall, but Dareen Keet made a full stretch dive to push the effort onto his own post before his defence cleared the danger.
The match went into a lull until the 65th minute when Hadebe fired his side level.
His shot from just inside the 18-yard area beat Keet at his near post to make it 1-1.
Six minutes later, AmaZulu found themselves in front after Thamsanqa Sikhakhane rounded off a great passing move.
Ryan Chapman found an equaliser for the Students eight minutes from time, when a good through ball put him one-on-one with the keeper and he made no mistake.
Andile Khumalo found another goal for AmaZulu a minute from time with a fantastic shot from just inside the area that found the top left corner to make it 3-2.
Wits, though, determined not to lose their unbeaten record at home, and Chapman equalised yet again in the 93rd minute.