Gaines, 29, has always been a blocking tight end, and he will fill that role with the Bears.
He signed a one-year contract, choosing the Bears over the New York Jets, who he also visited last week. Financial details of the contract were not yet available.
Gaines will be the fifth tight end on the Chicago roster. But none of the players at the position block as well as he does, and the team's top two tight ends, Desmond Clark and Greg Olsen, are better as receivers.
The Bears will be Gaines' fourth NFL franchise and his fourth in four seasons. He had previously played for Carolina (2004-2006), Buffalo (2007), and Detroit (2008).
Gaines entered the league as a seventh-round choice of Carolina in 2004.
The five-year veteran has 79 career receptions, for 810 yards, and five touchdowns. His best season was with Buffalo in 2007, when he had 25 receptions, 215 yards and two touchdowns. All represent career highs for him.
Gaines has appeared in 73 games and started 35 of them.
Len Pasquarelli is a senior writer with ESPN.com.