Holt became the Shrews' record signing last summer when he joined from Nottingham Forest for £175,000 and after scoring 28 goals in league and cup in 2008/9, the 28-year-old has now moved on to Carrow Road.
Canaries boss Bryan Gunn told the club's official website: "We wanted to bring a striker to the club and that's what we've done.
"Grant's name was the first I put forward this summer. He will bring goals for us this season for sure, he is a tried and tested player who has always produced."
Holt said: "This is a great opportunity for me at a really good club. I just want to be successful, score goals and get the team promoted."
Holt has signed a three-year deal, with the option of a further year.