Adams, 28, joined South Shields from Sunderland in 2018, and has gone on to make 74 appearances, scoring six goals.
“I’m delighted to have signed a new contract," he told the club's official website.
“I’ve made no secret of how much I’ve enjoyed it here since the moment I signed.
“I feel so comfortable and valued at this club and I think I’ve played some of my best football of recent years here, which has shown how much I’ve enjoyed it.
“We’ve only been in talks about the new contract for a few weeks so it has come around pretty quickly.
“I’m happy to have that security behind me and I’m looking forward to the next two or three years.”
Keep up-to-date with our exclusive email newsletters.
Subscribe