The deal includes $20 million in guaranteed money, according to the source.
The 26-year-old Griffen hasn't turned his considerable potential into a breakout season yet, but he's shown hints of being an impressive pass rusher.
Griffen had eight sacks in 2012, filling in at both end spots and rushing from a defensive tackle spot on third downs. Griffen also dropped into coverage to intercept St. Louis Rams quarterback Sam Bradford in a Week 15 game during the 2012 season, bringing the interception back 29 yards for a touchdown in a key victory for the Vikings' playoff chances.
That sack, however, was one of only 5.5 for Griffen in 2013, even though the 6-foot-3 end again got considerable playing time thanks to his role as a nickel rusher. He got 2.5 of his sacks in the final two games of the season, long after the Vikings had been eliminated from playoff contention.
The Vikings had preliminary talks with Griffen on a new deal during the season, but never got serious about finishing a contract extension in-season.
ESPN.com Vikings reporter Ben Goessling contributed to this report.