The Portugal international was plying his trade with Anzhi Makhachkala in the Russian Premier League before parting ways with the club six months into his contract.
Almeida has already played under Hannover coach Thomas Schaaf during a spell at Werder Bremen between 2007 and 2010.
Hannover were quick to snap up the 31-year-old as they look to push their way up the Bundesliga table.
"I jumped at the chance when I got this interesting offer," Almeida said. "When the coach called me I said yes straight away, I never lost sight of the Bundesliga and I always wanted to return."
Schaaf's men are sitting in the relegation zone at the halfway point of the season - one point off bottom but also just one point from safety.
The Bundesliga resumes next Friday when Hamburg host Bayern Munich, while Hannover play the following the day against Darmstadt 98.