Sources said the extension does not include no-trade protection.
Montero will make $10 million the next two years, $12 million in 2015 and $14 million in 2016 and 2017.
The 28-year-old Venezuelan is a clubhouse leader and outstanding defensive catcher. He has thrown out a National League-leading 47.6 percent of runners trying to steal (28 of 60). He led the league in that category in 2011 at 47.7 percent, a franchise record.
The left-handed batter is hitting .252 with two home runs and 21 RBIs in 38 games for the struggling Diamondbacks. He was out of the lineup for the third straight game Friday night because of a groin strain sustained while chasing a foul ball to the screen against the Los Angeles Dodgers on Monday night.
Montero, who came up through Arizona's system, was a significant contributor to the team's surprise run to the NL West title last season. He hit .282 with 36 doubles, 18 home runs and a team-high 86 RBIs and was named to the All-Star team, a game played at Arizona's Chase Field. In 2011, Montero ranked first in the NL in slugging percentage (.471), doubles, extra-base hits (55), RBIs, hits and total bases.
Arizona has no standout catching prospects in its minor league system, but the talks this spring to extend Montero's stay in Arizona were unproductive. He wound up with a deal that more than doubles his salary next season.
"This is a business," Montero said when talks were called off in spring training. "If this is my last year, I've got to move on and it's just part of the game."
General manager Kevin Towers said at the time that talks were being suspended to avoid the issue becoming a distraction.
Montero had no comment on the contract reports before Friday night's game against Milwaukee.
Information from ESPN Insider's Keith Law and The Associated Press was used in this report.