The 27-year-old played over 350 games for Mansfield and Rovers but was released by the Pirates despite having made 40 appearances in the recent campaign.
Disley's new contract at the Prostar Stadium will start on July 1 and Shrewsbury manager Paul Simpson told the club's official website: "I'm delighted I've managed to get Craig to sign for us as he is a player who I identified a couple of months ago that if he did become available then he would be a good addition to our squad.
"He is a very energetic midfielder and a decent footballer who is experienced and has played a lot of games at a higher level than League Two and I think he could add some good energy and goals from midfield which we have been lacking.
"Last year he played a lot of games for Bristol Rovers in League One and has played hundreds of games during his career and always done well. There were a lot of people who were surprised that Bristol Rovers decided to release him but they must be wanting a change.
"When we look at the central midfield players that we definitely have got for next season with Paul Murray, Terry Dunfield and Kevin McIntyre I think the addition of Craig gives us some good options."