Phillies beat writer Todd Zolecki reports that the deal is worth $2.5 million and includes performance bonuses.
Williams signed a one-year contract with the Houston Astros in February, but was designated for assignment on July 1 and released a week later. He then signed a minor league deal with the Texas Rangers, who designated him for assignment on Aug. 8.
The Phillies then claimed Williams off waivers, and on Sept. 20 he became the first pitcher in MLB history to defeat the same team while pitching for three different teams in one season. He defeated the Oakland Athletics at each of his stops in 2014.
Williams had a 6.04 ERA in 47 innings for Houston and a 9.90 ERA in two starts for the Rangers, but went 4-2 with a 2.83 ERA in nine starts for Philadelphia, including 38 strikeouts.
The Phillies went 73-89 in 2014, finishing in last place in the NL East.
- Molly Geary