Terms weren't revealed but the contract is worth $13 million, sources told ESPN's Jeff Passan, confirming a report by The New York Post.
Greinke is a six-time All-Star who earned six Gold Gloves during his 18 years in the majors. The veteran righty's résumé also includes a 2009 Cy Young Award, which he earned with the Royals.
Greinke, 38, spent the past three seasons with the Houston Astros, posting a 3.89 ERA in 52 games. He made three appearances during the Astros' 2021 postseason, including a scoreless four-inning start in Game 4 of the World Series against the Atlanta Braves.
The 2021 season was the final year of a six-year contract he had signed with the Diamondbacks in the 2015 offseason. Arizona traded Greinke to the Astros in 2019.
A sixth overall draft pick by the Royals in 2002, Greinke made his MLB debut in May 2004. He spent seven seasons with Kansas City before pitching for the Brewers, Angels, Dodgers, Diamondbacks and Astros.