The 21-year-old becomes the second forward from the south coast club to join this term after Olufela Olomola and the fourth player to join the Glovers in January after Jared Bird, Corey Whelan and Lewis Wing.
He goes straight into the squad for Saturday’s Emirates FA Cup third round tie against Bradford City.
Barnes moved to Southampton from Wolves in 2014, settling into the youth setup seamlessly.
The tall but mobile striker, who boasts an excellent finish, ended the 2014/15 campaign as Saints Under-18s’ top scorer with 13 goals in 26 appearances before stepping up into the Under-21s.
After scoring twice on the opening day of the 2015/16 season, Barnes suffered an injury that ruled him out for the rest of the year but he has since come back a stronger player, establishing himself in the south coast outfit’s Under-23s.
A clever player who likes to drop off and link-up play, Barnes has scored four goals in Premier League 2 this season and his loan to Town will be his first to an EFL club.