The Londoners led 2-0 after 35 minutes through Dimitar Berbatov's penalty and Sascha Riether's close-range finish.
Craig Gardner dragged the Black Cats back into it when he converted a penalty and Sessegnon prevented his side from slipping to a fourth successive defeat when he fired home after 70 minutes.
Both sides could have won it in a frenetic conclusion, which saw Sunderland's Adam Johnson left furious not to be awarded a penalty when his shot appeared to strike Emmanuel Frimpong's arm.
Sunderland found themselves in deep trouble by the time 35 minutes had elapsed.
Fulham took the lead after 16 minutes when Gardner was adjudged to have tripped Ashkan Dejagah inside the box and referee Mark Halsey pointed to the spot. Berbatov's execution from 12 yards was little short of outrageous as he stuttered up to the ball before side-footing it to the left of Simon Mignolet.
It was 2-0 when Johnson's corner was cleared and Fulham broke at pace and in numbers, the move ending with Mignolet parrying Dejagah's shot to Riether, who tapped home.
Sunderland appeared in disarray but were handed a way back into the game within two minutes. Philippe Senderos was ruled to have pulled back Danny Graham as the pair challenged for a ball over the top and Mr Halsey awarded a second penalty of the match which Gardner smashed home.
The game would have effectively been over in the second half had Mignolet not raced from his line to block Berbatov's effort after Bryan Ruiz had played him in with a lofted pass.
It proved doubly crucial as within seconds Sessegnon drilled home from 15 yards after the ball broke invitingly for him.