Brighton dropped to second place in the Championship table after drawing at Reading, who finished with 10 men.
John Swift’s free-kick gave the Royals a second-minute lead but the visitors levelled when Joey van den Berg headed a corner into his own net.
Anthony Knockaert’s low drive put the Seagulls ahead straight after the break and Paul McShane made it 2-2 by converting Garath McCleary’s pull-back.
Van den Berg was sent off late on for a second bookable offence.
Swift’s opener, an inswinging ball which evaded everyone from a wide position on the left, was the first goal Brighton have conceded this season.
McCleary and Yann Kermorgant were constant threats as Jaap Stam’s Royals dominated the opening period, with the Frenchman having a shot cleared off the line by Lewis Dunk and dragging another effort wide.
Brighton improved after the break but goalkeeper David Stockdale made a reflex save to tip an overhead kick from Kermorgant behind and keep the scoreline at 2-2.
The visitors could not take advantage when Van den Berg, who had picked up a caution for dissent in the first half, was dismissed by referee Mike Jones with one minute remaining for pulling back Tomer Hemed.