Arizona will send infield prospect Jose Caballero in return for the deal.
Leake has a $16 million salary for 2019 and is owed $15 million in 2020, plus at least a $5 million buyout for 2021, but Arizona will reportedly only pay $6 million toward his remaining salary, according to John Gambadoro of Arizona Sports 98.7 FM.
On the field, Leake could be a valuable addition for the Diamondbacks after they traded away Zack Greinke to the Houston Astros Wednesday, per Ken Rosenthal of The Athletic.
Although he won't be able to immediately replace the All-Star, Leake has been a reliable starter this season with a 9-8 record and 4.40 ERA in 22 starts. His 10.1 hits allowed per nine innings is not great, but he doesn't hurt himself and leads the league with only 1.2 walks per nine.
His control also allows him to go deep into games, getting at least to the seventh inning in seven of his last 11 starts. He has two complete games in this span, including a one-hit shutout against the Los Angeles Angels on July 19.
With Arizona still in the playoff race at 54-55 through Wednesday, this could be a useful addition to earn a wild-card spot.
Leake should also be comfortable in Phoenix after playing his college ball at Arizona State.
The Mariners received Caballero in the deal, who wasn't part of the team's top 30 prospects on MLB.com. The 22-year-old is hitting .268 with a .388 on-base percentage, adding 28 stolen bases in 43 games at Single-A.
With games played at second base, shortstop and third base this year, the young player could become a versatile option for Seattle down the line.