The Saints went ahead at Staplewood Training Ground on 38 minutes when Will Smallbone struck a stunning first-time effort into the top corner after being set up by Nathan Tella.
Five minutes after the break, Southampton went 2-0 ahead when Afolabi lifted his effort over over Luca Ashby-Hammond.
Fulham scored on 79 minutes, when full-back Cody Drameh crossed from the left and Jayden Harris headed into the far corner.
But Southampton held on for a fifth consecutive PL2 victory that takes them on to 36 points, three ahead of second-placed Wolverhampton Wanderers.
Fulham are 10th on 17 points.