The former Birmingham boss has been out of work since being dismissed by the Blues in March 2018.
Cotterill has 700 games in management under his belt and League Two and League One winners medals with Notts County and Bristol City.
He also has five promotions in his 23 years in management, which include three manager of the year awards.
Cotterill, 56 and from Cheltenham, is understood to be friends with Town chairman Roland Wycherley and has been linked with vacancy before.
Town chief executive Brian Caldwell said: “We are delighted to announce Steve Cotterill as the new Manager of Shrewsbury Town Football Club who has signed a three-and-a-half-year contract with the club.
“Steve brings a wealth of managerial experience with around 700 games to date. He has had a lot of success during his managerial career including five promotions, an EFL Trophy win, and three Manager of the Year Awards.
“It has been a whirlwind 48 hours but with matches coming thick and fast, we felt it was vitally important to appoint as quickly as possible. We are very grateful to Steve and his representative for their assistance in making this all happen in such a timeous fashion.
“We are sure you will give Steve a 'Shrewsbury welcome' and support him and the squad in our battle to improve our league position in the coming weeks.”
Cotterill, who spent time as a player at Wimbledon and Bournemouth, began his management career in 1995 with Irish outfit Sligo Rangers before spells at Cheltenham, Stoke City, Burnley, Notts County, Portsmouth, Nottingham Forest, Bristol City and Birmingham City.
He won promotions with Cheltenham, in 1998, 1999 and 2002, Notts County in 2010 and Bristol City in 2015.