Arizona exercised Putz's $6.5 million option on Oct. 20 and he would have been eligible for free agency after the 2013 season.
"J.J. has provided much-needed leadership and stability for our bullpen the last two years," general manager Kevin Towers said in a release. "He has been an integral piece and helped set the foundation for our bullpen's turnaround so we are excited to have him in place the next two seasons."
The 35-year-old right-hander had 32 saves in 37 chances and a 2.82 ERA last year, converting 19 straight save chances from late May through August. He had a 0.84 ERA from June 23 through the end of the season.
"I'm very happy to be a member of the great D-backs organization and family though 2014," Putz said. "It's special to be with my family year round so we're all really excited."
Putz has 77 saves for Arizona, second on the franchise list behind Jose Valverde with 98.