James Graham will move to St George Illawarra next season on a three-year deal.
The Canterbury captain on Tuesday night confirmed the worst-kept secret in the NRL, revealing he had verbally agreed to an offer late last week from the Dragons.
"I think it's the best move for myself and for both clubs, too," Graham told Fox Sports' NRL 360 program.
"At the age I'm at, that will probably take me to the end of my NRL career. I'm really excited for what's ahead."
Graham's departure will help alleviate intense salary-cap pressure on the Bulldogs for next season.
Canterbury are still attempting to get under next year's $9.4 million figure, to ensure the contracts of new arrivals Kieran Foran and Aaron Woods are registered.
There had been speculation of the Bulldogs looking to offload a number of players, but Graham's exit might allow for some much-needed stability on the players' front.
"When we realised we couldn't make the playoffs, it was quite tough," Graham said.
"Originally, I wanted to be part of the solution and get everything back to where the club should be.
"But realistically, part of the solution for Canterbury was me moving on."
The 31-year-old Englishman's last game for the Bulldogs was Sunday's 26-20 win over the Dragons, which ended the Saints' season.
Graham played in the 2012 and 2014 grand finals for the Bulldogs, as part of a five-year stint at the club. He told teammates on Sunday he was leaving.
He will be a perfect fit for a Dragons' pack who have lost Russell Packer to the Wests Tigers.
The Saints have long been in search of a replacement front-rower, with Brisbane's Adam Blair expected to opt for the Warriors for next season.
Dragons coach Paul McGregor suggested Graham would be a valuable addition to the club when quizzed about the matter on Sunday.
"He's a current international. He's inspirational in the way he plays and he's very passionate in what he does," McGregor said.