The 30-year-old Willis was the 2003 NL Rookie of the Year with Florida and finished second in Cy Young Award voting in 2005. He was 1-6 with a 5.00 ERA for Cincinnati last year.
The deal was announced Thursday, and includes $400,000 in performance bonuses, including $25,000 for 30 plate appearances, which is an unusual provision for a pitcher.
Willis is expected to pitch out of the bullpen for the Phillies, who've won five straight NL East titles. He's 72-69 with a 4.17 ERA in nine seasons with four teams. Willis has made just three relief appearances in 205 career games.
"Dontrelle, I believe, is at a point in his career where he is ready to make the transition to being an effective reliever," general manager Ruben Amaro Jr. said.
"Because of his experience, past success and overall positive energy, we feel this will be an opportunity to benefit both him and the team, especially with the success he has had against left-handed hitters, both recently and over the course of his career."