The deal includes two club options worth a total of $22 million, The Associated Press reported.
The 24-year-old Marte came up from Triple-A Reno last season to fill a critical role at shortstop when Nick Ahmed and Chris Owings went down with injuries. Marte will spend a lot of time at second base this season with Ahmed back at shortstop.
Marte came to the Diamondbacks with starting pitcher Taijuan Walker in the trade that sent infielder Jean Segura to Seattle shortly after Mike Hazen took over as Arizona's general manager before last season.
The extension shows how strongly Hazen and those around him feel about Marte's future.
Marte hit .260 with five home runs and 17 RBIs in 73 regular-season games for the Diamondbacks, and he had an outstanding run in Arizona's brief stint in the postseason.
He had three hits, including two triples, in the wild-card win over Colorado, then went 4-for-12 -- including a home run -- as the Diamondbacks were swept in three games by the Dodgers in the NLDS.
Before Monday night's exhibition game with Cleveland, Arizona manager Torey Lovullo wouldn't confirm the new contract but had high praise for his young infielder.
"Ketel Marte is an extremely exciting young player,'' Lovullo said. "He did some very special things for us last year. He did some incredible things in spring training. Ketel is going to play a lot for this team, and he's going to split his time in the middle infield, split his time at shortstop and second base.''
Lovullo called the young Dominican "a very special young talent that did a lot last year by going down and showing some mental toughness and was sent out to the minor leagues and was one of the best players in the Pacific Coast League and then came up here and at times was one of the best players in the National League.''
Marte was not available to speak to media before Monday night's game.
The Associated Press contributed to this report.