Morgan, 31, has played 52 games for the Latics since moving from Championship rivals Rotherham United in June 2015 and has 23 international caps.
He captained the side to the League One title last season, having previously done the same with Rotherham.
"The chairman made it very clear he wanted me to stay," Morgan said.
"I think it's right I should repay his faith."
Wales international defender Craig Morgan has signed a new two-year deal at Wigan Athletic that will run until the summer of 2019.