The 22-year-old moves to Carrow Road following a loan spell with Crystal Palace, where he made six league appearances.
Bamford spent last season on loan at second-tier Middlesbrough, scoring 17 times in 38 league matches, and was named as the Championship Player of the Year.
He featured against Norwich in the playoff final at Wembley Stadium, which the Canaries won 2-0 to clinch promotion.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
The former Nottingham Forest academy player has represented England up to Under-21 level and was unfortunate to miss out on the 2015 European Championship squad through injury.
"I'm really happy to be here, and the sooner I'm able to get involved the better. That's what I want to do personally, but it's also about helping Norwich get the points required to stay in the league." he told the club website (www.canaries.co.uk).
Norwich are just two points above the relegation zone.
City manager Alex Neil added: "(He)... excelled last season and we are pleased to have the opportunity to bring him in. He's a young forward determined to make his way in the game, and adds competition for us at the top end of the pitch."
(Editing by Ken Ferris)
