The 23-year-old centre-half is a Reading academy graduate and has made 129 appearances for the club, 112 of which were in the Championship.
Holmes joined the Royals academy when he was eight years old and made his Championship debut in 2018 as an 18-year-old. He also made 11 appearances on-loan at KSV Roeselare in Belgium’s second tier in 2019/20.
Manager Rob Edwards said: “Tom’s a good young player who is very experienced already, even though he’s fairly young.
“We have been aware of him for quite a long time and we spoke in the summer, so Tom is one that we’ve been tracking for a while.
“He’s a proper defender, but is someone who can take the ball as well and we think he’s got a high ceiling for someone who is still young and still developing.
“We are really looking forward to working with him and we welcome him to the club, but we feel the right thing for him is to stay at Reading on loan for the rest of the season and continue to help there.
“Getting that game time there this season is still the right thing in his development, but he’s someone we see as having a long-term future at the club.”
On his arrival at Kenilworth Road, Holmes said: “I’m very grateful for Luton’s continued interest in me, I know I’ve been on their radar for a while now, so it’s nice it’s come to fruition; I’ve spoken to the manager and I’m excited to work together.
“My aim is to come back and hit the ground running and really impress. That’s why going back will be a win-win for myself, Luton and Reading.
“It’s quite a nice way for me to end my time there and do something productive. I’m excited for that opportunity and I’m relishing the challenge. It’s been tough this season with a lot going on off the pitch but hopefully it will be resolved sooner rather than later and we can continue with improved performances of late.”