Monk has made over 230 appearances for Swansea since joining the club from Barnsley in 2004.
“It’s a big thing for me to sign a contract that will take me up to my tenth year,” Monk told the club’s official website.
“It’s something I’m proud of, my family is proud of, and I’ve worked hard for it. It’s a great feeling knowing I can represent the club for another three years at least.
“I’ve loved every minute of it. From the first day I walked in here under Kenny (Jackett), I’ve seen the massive progression made as players and as a club.
“To be part of that, and as captain for a large chunk of it, is a massive honour.”