Heskey lost his composure after not winning a free-kick and appeared to barge into referee Mike Jones. But he escaped with a yellow card and was substituted at half-time.
Charles N’Zogbia gave the Latics the lead at Villa Park but Ashley Young levelled for the home side with his ninth goal of the campaign.
A share of the spoils has banished any lingering relegation fears for Villa.
They were not at their best with only winger Stewart Downing and midfielder Nigel Reo-Coker emerging with full credit.
But Wigan’s survival hopes are still alive ahead of next week’s crunch meeting with West Ham after fully deserving to collect a point with N’Zogbia always a threat.
After 10 minutes N’Zogbia stunned Villa by giving Wigan a 10th minute lead.
Moses made a purposeful run before slipping the ball into N’Zogbia whose low left-footed shot flew past Brad Friedel into the corner of the net.
It was his eighth goal of the campaign.
Villa tried to retaliate and skipper Stiliyan Petrov’s flighted pass almost played in Stewart Downing but he could not bring it under control.
But after 17 minutes Ashley Young brought Villa on level terms.
The England winger, who was being watched from the stands by Fabio Capello, was brought down in a central position 20 yards out by Ben Watson.
Ashley Young played a short free-kick to Petrov before himself curling a low shot wide of the defensive wall into the corner of the net.
Wigan keeper Ali Al Habsi made a fine save to keep out a shot on the turn from Heskey after he had shown good skill to carve out the opening.
The home side won another free-kick in a promising position after Caldwell brought down Darren Bent.
But this time Ashley Young’s curling attempt did not trouble Al Habsi.
Heskey was shown a yellow card after 33 minutes after he appeared to barge into Jones.
He was clearly unhappy at not being given a free-kick after a tussle with Caldwell.
Heskey appeared to have lost his self control and skipper Petrov was spoken to by referee Jones about the behaviour of the striker.
The Villa fans appealed for a penalty after Ashley Young went down in the box but replays showed there was no contact made.
Al Habsi got his body behind a Petrov low drive after being teed up by Bent.
N’Zogbia scuffed his shot wide after carving a chance for himself and then Dunne made a crucial block to deny Antolin Alcaraz.
Villa caretaker manager Gary McAllister replaced Heskey with Marc Albrighton for the second period.
Ashley Young set up an opportunity for Luke Young but he miskicked and Downing powered his shot over the bar after seizing onto the loose ball.
Downing had a fierce shot blocked by Caldwell but Wigan were knocking the ball around with confidence despite their lowly position.
Friedel went down to cling onto Moses’ shot on the turn.
Wigan came within inches of taking the lead after 77 minutes when Di Santo’s flick on was seized on by Hugo Rodallega.
He turned sharply and his low shot beat Friedel but flashed just past the post.
Bent could have won the game for Villa when he found himself one on one with Al Habsi but his shot was blocked.