Soria can also earn $500,000 in performance incentives.
The two-time All-Star will be pitching for his eighth MLB team. The 36-year-old right-hander spent the past two years with Oakland and finished with a 2.82 ERA in 22 appearances during the abbreviated 2020 season.
Soria's deal was the first notable move by the Diamondbacks during a quiet offseason.
Arizona is coming off a disappointing last-place finish in the NL West. The D-backs don't have a clear-cut closer for the upcoming season, and Soria could be in the mix for the job along with holdovers such as Stefan Crichton and Kevin Ginkel.
Soria's deal with the Diamondbacks was first reported by The Athletic.
The Associated Press contributed to this report.