The former England all-rounder, who was out of contract at the end of the season, had been exploring his options in recent weeks.
But the 33-year-old has committed until the end of 2020, having first played for Yorkshire in 2001.
“It went on for a little too long, but I’m delighted to have finally got it sorted,” he said.
“It feels as though a weight has been lifted off my shoulders.
“I continue to enjoy my cricket here; in fact, almost as much as the first time I walked through the doors, and this is the outcome I always wanted.
“The group of players is evolving, and I can now look forward to contributing towards any success the team might have over the next couple of years.”
Martyn Moxon, the Yorkshire director of cricket, said: “It has taken a little bit of time to sort out, but we’re trying to work to put a squad together that will be available for as much of the season as possible and is within the budget that we have.
“To have Bres signed up for at least the next two years is a massive boost for us and contributes to that solid platform that we can build a team around.
“We need a balance of youth and experience within the team, and I’m delighted he’s committed the next two years.
“I believe he’s still got a massive part to play within that period - not only in winning games for Yorkshire, but also in helping develop our younger players.”