Bazunu never made a first team appearance for Manchester City but spent the last two seasons on loan at Rochdale and Portsmouth, where he won the club's player of the season in the 2021/2022 campaign.
The 20-year-old has already won 10 caps for the Republic of Ireland national team.
Bazunu's arrival at Southampton will help compensate for the loss of Fraser Forster, who has joined Tottenham Hotspurs on a free transfer.
"I’m delighted to be here," Bazunu told Southampton's official website upon confirmation of his capture.
"It’s been in the works for a few weeks and I’m really happy that we’ve got everything over the line, and I’m just excited to see what’s ahead.
"I feel like it’s a place I can come and develop and learn my game. The biggest thing is opportunity – the fact that I can come here and have a chance to play regular football. Just to be given that opportunity to fight for my place is the biggest thing that I could’ve asked for."
Southampton boss Ralph Hasenhuttl added: "As a club, we are always on the lookout for young talent and Gavin is a very exciting addition to the squad. We believe he has tremendous potential to improve and will give us great competition for places in the goalkeeping department.
"He is a goalkeeper with a very modern style of play, comfortable in the build-up phase, who has developed physically through some very important loan moves early in his career. Coming here gives him more opportunities to develop his game through playing in the Premier League."