Tavarez joins his eighth team since beginning his major league career with Cleveland in 1993. He spent the past two seasons with St. Louis and went 2-3 with a 3.43 ERA and four saves in 74 appearances last year. For his career, he is 72-55 with a 4.33 ERA and 21 saves in 642 games.
The deal includes a club option for 2008. Tavarez gets a $500,000 signing bonus and salaries of $3.1 million in each of the next two seasons.
The club option, worth $3.85 million, would become guaranteed if the 32-year-old right-hander appears in 125 games over the next two seasons or 65 in 2007.
To make room for Tavarez on the 40-man roster, the Red Sox designated right-hander Tim Bausher for assignment. He was 3-2 with a 3.41 ERA in 44 relief outings at Triple-A Pawtucket last season.