The Sweden international midfielder arrived at the club from Birmingham City in 2011 and has gone on to make over 120 appearances for Sunderland, including 41 in all competitions last season.
Larsson's previous deal was set to expire at the end of the month, but he has snubbed offers from rival clubs in favour of being part of Gus Poyet's plans for the future.
"I'm delighted to have signed a new deal with the club," he told Sunderland's official website.
"I've had talks with Gus and [sporting director] Lee Congerton and I feel that this is a club moving in the right direction and I want to be part of it.
"I had a few options but I want to be at Sunderland and I'm looking forward to the new season."
The 28-year-old's only Premier League goal of last season came in Sunderland's 1-0 win over Manchester United in May, the club's first victory at Old Trafford since 1968.