Monahan was selected by the Flames with the sixth pick of the 2013 NHL Draft. He has 80 goals and 159 points in 237 NHL games, and has missed nine games in three seasons.
"This agreement not only speaks to what Sean's done in the League, but where he's going and what we think he's going to do," Flames general manager Brad Treliving said. "This is a young player who has established himself as a top player, an important player in the League, but is still in a growth pattern. This is a young guy who's going to get better.
"He represents the commitment that we have to grow this group. Sean has been an important player in his three years, coming in at the tender age of 18. He represents an important player as we grow forward and move forward as an organization."
Treliving said he never was concerned that an agreement wouldn't be reached.
"Every contract is a little unique," he said. "Every player has some uniqueness. Sean has done some things in his career that has put him at a certain level. You want to be fair. This is a fair contract, but it's got to work for both sides. You take into consideration the player, you take into consideration the team and what we're trying to accomplish.
"I know you get wrapped up in timeframes and dates, but the reality is that there are still players in Sean's situation in terms of restricted free agents that still haven't signed. Every contract has its own nuance. We worked hard at it. The important thing is not necessarily when. We've still got time here before the season starts. But it's getting to a good conclusion. We did that here today."
The Flames still need to re-sign restricted free agent forwards Johnny Gaudreau, who led the Flames with 30 goals and 78 points last season, and Freddie Hamilton.
Gaudreau and Monahan have been linemates the past two seasons, and have combined for 112 goals and 267 points.