Daniel James had cancelled out a first-half Jordan Ayew effort to leave the two teams level in the 89th minute, before Van Aanholt squeezed his strike under David de Gea in the final exchanges as Palace recorded their first ever Premier League win over the Red Devils.
Scott McTominay and Luke Shaw both had half-chances for United in the opening 10 minutes, with the former heading a corner over the crossbar early on before the latter missed the target from inside the penalty box.
United's first clear chance of the afternoon arrived in the 17th minute when the ball broke for James at the far post, but the Welshman could not force it past Vicente Guaita, with Van Aanholt also doing well to help out his goalkeeper with a block.
The home side remained the team on the front foot as the 30-minute mark approached. However, Ole Gunnar Solskjaer's side were guilty of being wasteful in the final third - Rashford passing up a couple of good opportunities to test Guaita from set pieces in dangerous areas.
Palace took a shock lead in the 32nd minute when Ayew raced onto a flick from Jeffrey Schlupp before sliding the ball into the bottom corner of the net to silence Old Trafford.
Shaw limped off the field shortly after to be replaced by Ashley Young, who fired wide of the Palace post from distance in the period that followed the opening goal of the match.
The Eagles then had a super chance to score a second when the ball broke for Wilfried Zaha inside the United box, only for De Gea to pull off an excellent save to prevent the hosts from falling further behind.
Five additional minutes were signalled at the end of the first period; Palace were comfortable, though, and there were some groans inside Old Trafford when the half-time whistle was blown at 1-0.
The likes of Rashford and James were impressive against Chelsea on the opening weekend due to the space that the Blues offered, but Palace were simply not allowing the hosts the opportunity to counter-attack.
United had a huge shout for a penalty in the 55th minute when Kelly brought Martial to the ground, but neither the referee nor VAR were interested. Moments later, Mason Greenwood was introduced for the disappointing Lingard, who struggled to make his mark against Roy Hodgson's side.
The Red Devils were finding it very tough to fashion opportunities, though, and Palace's lead still stood entering the final 25 minutes of action at Old Trafford.
United had a huge chance to take the lead in the 70th minute when James McArthur brought McTominay to the ground inside the penalty box. Rashford stepped forward ahead of Pogba, only to smash his spot kick off the post as Palace survived a hugely dangerous moment.
Pogba headed wide of the goal in the 76th minute as Solskjaer's side continued to press, while the home side had another penalty appeal turned down in the 81st minute when Rashford went down under a challenge from Kelly.
Palace looked to have done enough to pick up a famous win at Old Trafford, but United had - for the time being - other ideas and levelled the scores in the 89th minute when James picked out the top corner with a stunning finish.
Five minutes of additional time were issued, and Palace incredibly scored a second in the third of those when Van Aanholt managed to squeeze a low strike through the body of De Gea.
The result means that both teams have won one, drawn one and lost one of their opening three matches of the campaign. United will attempt to return to winning ways away to Southampton next Saturday, while Palace are in EFL Cup action against Colchester United on Tuesday night.
MANCHESTER UNITED (4-2-3-1): De Gea; Wan-Bissaka, Lindelof, Maguire, Shaw (Young 34'); McTominay (Mata 85'), Pogba; James, Lingard (Greenwood 56'), Rashford, Martial
CRYSTAL PALACE (4-3-3): Guaita; Ward, Kelly, Cahill, Van Aanholt; Milivojevic, Kouyate (McCarthy 83'), McArthur; Schlupp (Townsend 80'), Ayew (Benteke 75'), Zaha