The former Burnley and Southampton midfielder enjoyed a successful spell with the Lions last season before his time in SE16 was cut short after he sustained ankle ligament damage a week before Millwall's FA Cup semi-final defeat by Wigan.
He said: "I really enjoyed my time here and I am really pleased to have been given the opportunity to come back. When the option came up of joining the club permanently, it was one I was keen to accept."
The 28-year-old was given squad number 18 for the forthcoming Championship season.
Stephen Bywater, Jermaine Easter, Steve Morison and Lee Martin have already joined up with the squad as new manager Steve Lomas remodels his playing personnel.