The forward, who spent three months on loan with the club at the end of last season - making 12 appearances - has signed a one-year contract after leaving Leeds United.
Leicester-born, the forward started out in non-league football, before securing a move to Crewe Alexandra in 2003.
After a four-year spell with the Railwaymen, in which he made over 100 appearances, scoring 35 goals, Varney moved to Championship club Charlton Athletic for a reported £2m fee.
After netting 10 times in 58 appearances for the Addicks, Varney joined Derby County in November 2008, initially on loan, before the move was made permanent in January 2009, again for a seven-figure sum.
However, a change of management and a series of injuries meant Varney never got an extended run in the Rams' side. He enjoyed three separate loan spells with Sheffield Wednesday, making 43 appearances in total, scoring 11 goals.
Varney got amongst the goals again during stints with Blackpool and Portsmouth, before joining Leeds United on a free transfer in the summer of 2012. In his 18 months at Elland Road, the 31-year-old scored eight goals from 50 appearances.