That meant Palace had to see out the closing stages a man down, with Henderson called into action to make a smart save from Brighton substitute Solly March.
A one-man advantage then become a two-man advantage as we headed into 12 minutes of injury time, with skipper Marc Guéhi sent off for a second yellow card, after his challenge on Brajan Gruda.
By this point, Joel Ward had come on for his first Premier League appearance of the season, Maxence Lacroix departing after a head collision with Joao Pedro.
In a frantic finish, Brighton threw everything they had forward – Carlos Baleba missing a huge chance when firing wide from just outside the penalty area. Henderson was called into action to make one final save, while at the other end Daichi Kamada might have sealed the win.
He was instead brought down by van Hecke, who himself saw red for a second yellow card.
But despite the chaotic finish and lengthy injury time added on, Palace held on for a famous win.
Palace: Henderson (GK), Lacroix (Ward, 90), Guéhi, Lerma, Muñoz, Wharton (Hughes, 82), Kamada, Mitchell (Chilwell, 63), Sarr, Eze (Devenny, 82), Mateta (Nketiah, 62).
Subs: Turner (GK) Clyne, Esse, França.
Brighton: Verbruggen (GK), Hinshelwood (Wieffer, 93), van Hecke, Dunk, Estupinan (Ayari, 81), Baleba, Gomez (Gruda, 72), Minteh (March, 72), O'Riley (Pedro, 63) Mitoma (Adingra, 63) Welbeck.
Subs: Rushworth (GK), Cashin, Tasker.