The deal will average around $20 million a year, sources familiar with the agreement told ESPN.
Rodriguez, 30, opted out of the final three years of his deal with the Detroit Tigers after going 13-9 with a 3.30 ERA in 152⅔ innings. He was expected to be moved at the trade deadline this year but invoked his no-trade clause to kill an agreed-upon deal with the Los Angeles Dodgers.
Rodriguez gives the National League champion Diamondbacks another quality starter for their rotation that includes NL Cy Young Award finalist Zac Gallen, veteran Merrill Kelly and youngsters like righty Brandon Pfaadt and lefty Tommy Henry.
During their recent run to the World Series, Arizona only had three true starting pitchers, using the bullpen to get through Game 4 of the NL Championship Series and the World Series.
At his best, Rodriguez offers a polished four-pitch mix he controls well and uses to generate strikeouts. Over his eight-year career, he has punched out more than a batter an inning, and his ability to limit home runs prompted the Tigers to lavish a five-year, $77 million deal on him after he reached free agency following six seasons with the Boston Red Sox.
Rodriguez missed almost half of his first season with Detroit in 2022 while dealing with marital issues. He was looking like a surefire All-Star this year until a ruptured pulley in his left index finger caused him to miss all of June. Rodriguez wasn't nearly as effective after he returned, posting a 4.24 ERA over 15 starts and 85 innings as compared to a 2.13 ERA in 11 starts and 67⅔ innings before the injury.
He opted out anyway, forgoing the final three years and $49 million on his deal to hit free agency once again.
Information from The Associated Press was included in this report.