Heilman, 32, has a 31-45 record with a 4.25 ERA in eight seasons with the New York Mets, Chicago Cubs and the Diamondbacks. He was a first-round pick and the 18th overall selection in the 2001 draft by the Mets out of Notre Dame.
Heilman has pitched exclusively out of the bullpen since 2006 and surpassed 70 relief appearances in each of the last five seasons, but he's expected to compete for a starting job in Arizona in spring training.
The Diamondbacks currently have Ian Kennedy, Joe Saunders, Daniel Hudson, Zach Duke and Barry Enright in the rotation. But general manager Kevin Towers had been searching for additional starting depth on the free agent market.
Jerry Crasnick is a senior baseball writer for ESPN.com.