The 19-year-old's form in League One has persuaded the Canaries to move to tie up his signature and send him back to his current club on loan until the end of the season
The 19-year-old was a reported target of Tottenham and Liverpool but has signed a three-and-a-half-year deal at Carrow Road, with an option for another year.
Maddison has made 12 appearances in League One this season, with Tony Mowbray's men currently occupying fifth place.
"We're delighted to sign James as he is a fantastic prospect who has already made a mark at Coventry at such a young age," Norwich manager Alex Neil said.
"He has real potential to develop, making this deal one we're really pleased to get over the line.
"James will return to on loan Coventry for the rest of the season to continue his development before joining up with us on a full-time basis in the summer."