Fulham failed to capitalise on large spells of dominance at the Amex Stadium and ended up beaten by Glenn Murray’s 79th-minute winner.
Kevin McDonald had put the Whites ahead on 18 minutes when his back-post header from Stefan Johansen’s corner crept over the line.
They had further chances to extend their lead before the break but found their former keeper David Stockdale in terrific form.
Equally brilliant was Sam Baldock’s crashing volley early in the second half which levelled the scores, and an unmarked Murray snatched the points late on.
Although Fulham were left to rue their missed opportunities, they were grateful initially to a good save from David Button to deny Murray early on.
But after they went in front, Slavisa Jokanovic’s side attacked with purpose – Floyd Ayite’s deflected shot produced a magnificent save from Stockdale, who also denied Scott Malone after terrific interplay in midfield.
Seven minutes after the break, Albion levelled. There appeared little danger during a bit of head tennis, but when the ball came out to Baldock on the edge of the box, he rifled in past Button.
Stockdale kept out efforts from Ayite and Denis Odoi while at the other end, Baldock brought down a header and might have swept the ball home but for a last-ditch challenge from Tomas Kalas, who diverted it on to the post.
But Brighton had the last word, with Fulham’s defence leaving Murray in space to convert Baldock’s cross.
Fulham: Button; Odoi (Fredericks 85), Kalas, Sigurdsson, Malone; Cairney, McDonald; Aluko (Piazon 84), Johansen, Ayite (Kebano 85); Martin.
Subs not used: Bettinelli, Ream, Sessegnon, Smith.