Allen, 31, is known as one of the NFL's most "prolific" pass rushers, the Bears said. He spent six seasons with the Vikings and was named to the Pro Bowl team four times.
ESPN Chicago reports Allen also was known to have visited the Dallas Cowboys and Seattle Seahawks during free agency. Rumors swirled last week that Allen had signed with the Seahawks.
He posted 85.5 sacks in those six seasons, nearly breaking Michael Strahan's single-season record in 2011 and finishing with double-digit sacks each season he was with the Vikings, ESPN reports.
Ironically, the Vikings last week signed former Bears defensive end Corey Wootton, who has 11 career sacks, and delivered the final hit that knocked Vikings quarterback Brett Favre out of the last season of his career.
"This is a huge coup for Bears GM Phil Emery. Emery smartly waited out Allen's initial test on the market and got him at maybe a lower price than Allen initially thought he'd get," said ABC7 sports anchor Rafer Weigel. "While it doesn't make the Bears defense younger it adds a dominant pass-rusher who still has plenty left. And it allows the Bears to take the best player available in the draft as opposed to the best player at a position."
Allen was signed in 2004 by the Kansas City Chiefs where he spent four seasons before joining Mineesota.
Although the Vikings slumped last season, Allen had a seventh consecutive double-digit sacks season and the eighth overall of his 10-year career. He started all 16 games, making 11 1-2 sacks and 52 tackles. He also had two forced fumbles for Minnesota.
Chicago's defense was one of the NFL's worst in 2013, ranking 30th overall and 32nd and last against the run. Allen also has been a solid run defender during his career.
The Associated Press contributed to this report.