Sarich, who can't complete the deal until the window for player signings opens Sunday, will make US$4 million.
Sarich is the second defenceman to agree to a deal with Calgary this week after the team acquired Dennis Wideman from Washington and negotiated a US$26.25-million, five-year contract Tuesday.
Flamed general manager Jay Feaster said he wanted Sarich back because the club liked his physical presence on the blue-line.
"Cory is a true competitor who plays the game the right way, with fire and grit," he said in a statement. "We are thrilled to have Cory back in the fold on a contract that fits within our plan and enables us to continue to improve our hockey team."
He joined Calgary as a free agent in 2007, and had one goal and six assists in 62 games with the Flames last season.
The Flames also signed centre Blair Jones to a two-year deal worth $1.3 million.
The 25-year-old had three goals and five assists in 43 games with Calgary and the Tampa Bay Lightning last season.