Putz, the team's ninth-inning closer, racked up 32 saves with a 2.82 ERA in 57 appearances for the Diamondbacks last season, compiling a 1-5 record.
The Diamondbacks had earlier exercised a $6.5 million team option to lock up the 35-year-old right-hander through the 2013 season.
Terms of the extension weren't announced.
"J.J. has provided much-needed leadership and stability for our bullpen the last two years," General Manager Kevin Towers said. "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."
Putz has recorded 77 saves during his two-year tenure with the club -- second only to all-time franchise leader Jose Valverde with 98.
The 10-year veteran has also played with Seattle, the New York Mets and Chicago White Sox.
Notable deaths of 2014 [PHOTOS]
Julius Randle breaks leg during NBA debut