Wilfried Zaha’s first-half penalty looked to have given Patrick Vieira’s men all three points but they were hit with a sucker punch in the fifth minute of stoppage-time – in almost identical fashion to how Roy Hodgson’s Eagles had won at the Amex in February.
Victory for Brighton would have sent them to the top flight summit for the first time in their history, but a knee injury ruled out key man Yves Bissouma while Palace handed a full debut to Odsonne Edouard after two cameos since his deadline day arrival from Celtic.
It was the hosts who dominated the early exchanges and they forced three corners in the opening eight minutes. Chances were less frequent though with Conor Gallagher’s fierce effort headed wide by Lewis Dunk before Edouard’s tame curler from outside the area was straight at Robert Sanchez.
Adam Lallana picked up the first booking of the game after 28 minutes and by this point Brighton had weathered the storm with the aim now to establish the type of control they had become accustomed to in this fixture in recent years.
Leandro Trossard clipped a shot into the side-netting soon after before the best chance of the half so far was created by the Seagulls goalkeeper.
Sanchez spotted the run of Danny Welbeck and produced a wonderful ball over the top for the former England international but he lost his balance under pressure from Joel Ward and could only get a faint touch towards goal which the onrushing Guaita dealt with easily.
After penalty appeals were waved away, more space started to open up for both with Zaha testing the Brighton custodian for the first time with a near-post shot while Lallana squandered a decent opportunity from a corner before the opener did finally arrive.
A crunching tackle by Joel Ward won possession back for Palace and Gallagher made the difference first of all, producing an incisive drive into the area where Trossard committed the foul to leave referee Andre Marriner with little option but to point to the spot.
It ensured Zaha could celebrate his 400th appearance for the club with a goal, his eighth against the Seagulls, after he sent Sanchez the wrong way to ensure there were no red faces in the Eagles camp having taken over penalty duties from usual taker Luka Milivojevic.
Steven Alzate was introduced for the visitors at the break and Potter’s side came out with better intent as Lewis Dunk forced Guaita to tip over his header. Lallana also had an effort blocked but the home side wrestled back the initiative.
Gallagher was the architect for the latest shift in momentum with his relentless pressing too much for the south coast outfit, who looked to be running on empty with substitute Alzate and Welbeck forced off with injuries.
Palace had also made changes by this point and Edouard’s replacement Christian Benteke put the game on a plate for Jordan Ayew with 14 minutes left but the Ghanaian side-footed wide with only Sanchez to beat to extend his goal drought to 35 games.
It would prove a crucial miss as not long after Shane Duffy headed straight at Guaita from Gross’ free-kick, another chance was created by the German and this one was finished.
As the clock ticked into the 95th minute, Gross side-footed forward for Maupay, who had run away from his markers, and produced a clinical finish over the Palace goalkeeper to spark wild scenes among the travelling faithful.
Referee Marriner blew for full time straight after kick-off and James McArthur and Brighton goalkeeper Sanchez came to blows before Seagulls captain Dunk was given a volley of abuse by the home fans in the Holmesdale Stand as he left the pitch.
It produced ugly scenes but in the end both were left to reflect on what might have been with the visitors missing the chance to go top while Palace’s momentum under Vieira slowed.