Richards speelde in de jeugd bij Fulham en Reading. Op 5 augustus 2017 debuteerde hij in de EFL Championship tegen Queens Park Rangers. Op 20 februari 2018 maakte hij zijn eerste doelpunt als professioneel voetballer in de wedstrijd tegen Nottingham Forest. In het seizoen 2020/21 speelde hij 41 van de 46 competitiewedstrijden voor Reading. Zijn goede prestaties dat seizoen leverde hem een transfer op naar de Duitse recordkampioen Bayern München. Hier tekende hij in mei 2021 een vierjarig contract.[3] In zijn eerste seizoen kwam hij tot twaalf competitiewedstrijden, maar wist hij geen onuitwisbare indruk achter te laten. Ruim een jaar na zijn komst maakte Richards de overstap naar Nottingham Forest, waar hij een vierjarig contract tekende.