The 27-year-old passed a medical at the DW Stadium to become the club's ninth signing of the summer and manager Owen Coyle was delighted to have him on board.
"As manager, to see the desire Leon has to play for Wigan Athletic is tremendous and we're all delighted to have enticed a player of his calibre to our club," he told the club's official website.
"He has shown his qualities in the Premier League on numerous occasions and has the experience of being successful in a division as tough as the Championship, winning promotion on three separate occasions.
"That kind of experience for someone who is still only 27-years-old is fantastic and I believe that whilst he has much maturity in his play he also has huge potential to become an even better player here at Wigan Athletic."
The centre-back began his career at Luton before moving to West Brom in a £2.5m deal in July 2007.
Barnett then progressed to Norwich in January 2011 but found his chances there limited last season.
The 27-year-old played just 11 times for Chris Hughton's side before being loaned out to Cardiff.
Barnett played eight times for the Welsh club, helping them secure promotion to the Premier League.
He subsequently returned to East Anglia but has now joined Wigan as he aims to help guide the club back to the top-flight at the first attempt following their relegation last season.