The deal also includes a $10-million vesting option in 2022 that's based on games pitched, Jon Heyman of MLB Network reports.
It's believed to be the largest contract ever handed to a non-closer reliever in both total money and average annual value, according to Rome.
Pressly's deal, which will pay him $8.75 million in both 2020 and 2021, will buy out the first two years of his free-agent eligibility that was set to begin this winter. Earlier in the offseason, he avoided arbitration with the Astros by agreeing to a $2.9-million contract for 2019.
The 30-year-old right-hander is coming off a career-best season that saw him post a 2.54 ERA with 101 strikeouts (12.8 per nine innings) over an American League-leading 77 appearances. He also walked just 22 batters and allowed only six home runs.
Pressly began 2018 with the Minnesota Twins, who dealt him to Houston ahead of the trade deadline. He took off after the trade, crafting a 0.77 ERA and 0.60 WHIP with 32 strikeouts and two saves over 23 1/3 regular-season innings; in the playoffs, Pressly added a 1.80 ERA with seven strikeouts over five innings.