The deal is worth $3 million plus incentives, according to MLB.com.
The Indians have not confirmed the signing, but an official announcement could come as early as Friday.
The 28-year-old Kotchman posted a .306 batting average with 10 homers and 48 RBI in 146 games for the Tampa Bay Rays last season.
That was a big improvement from his 2010 campaign with Seattle, where he hit .217 with nine home runs and 51 RBI.
In 791 career games with the Angels, Braves, Red Sox, Mariners and Rays, Kotchman has hit .268 with 59 homers and 332 RBI.