Williams, who has not featured since April following a knee injury, completed 45 minutes, while Ferdinand came through an hour unscathed in front of Royals boss Nigel Adkins.
It was a strong side that included Aaron Tshibola, Aaron Kuhl and Ryan Edwards.
It was an even contest throughout until Reading seized the initiative in the final five minutes.
Kuhl’s corner was headed back across goal by Jake Cooper, allowing Harry Cardwell to touch the ball home from close range.
It looked like Reading had grabbed a slender win but things got more comfortable in added time, when Royals doubled their lead.
Tariqe Fosu was brought down by Brighton keeper Joshua Smith, who received his marching orders for the challenge.
The hosts also had Rob Hunt dismissed for dissent immediately after, meaning they ended the game with nine men.
Fosu picked himself up to convert the resulting penalty and ensure Reading left Brighton with all three points after a dramatic finale.
The win leaves Reading in sixth place in the Barclays Premier League U21s Division Two.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here