The Saddlers had hoped to tie O'Donnell to a new deal, but after a number of Championship and League One sides were linked with his signature, the 26-year-old has opted to sign a three-year contract at the DW Stadium.
Wigan boss Gary Caldwell told the club's official website: "I'm delighted that Richard has agreed to join us. He was definitely one of the best keepers in League One last season; his clean sheet record speaks for itself.
"There were a number of clubs chasing his signature and we had to move quickly to get him because we had identified him as a potential target.
"He's at a good age and fits in with the profile of ambitious players we are looking for and he will be a quality addition to the squad."
O'Donnell departs Walsall having made 105 appearances in all competitions over the past two seasons.