Earlier in the day, the Panthers reached a deal with 37-year-old defensive end Julius Peppers, who spent his first eight NFL seasons with the Panthers and is the team's all-time leader in sacks (81).
Munnerlyn spent his first five seasons (2009-2013) at Carolina before going to Minnesota in free agency.
NFL Network first reported the deal and it was confirmed by ESPN.
The Panthers gave Munnerlyn a four-year deal worth $21 million with $10.5 million guaranteed, which includes a $6 million signing bonus, a league source confirmed. General manager Dave Gettleman couldn't pay Munnerlyn in 2014 because of cap limitations, but he did this time.
Munnerlyn signed a three-year, $11.25 million deal with the Vikings in 2014, as the team sought to shore up its slot cornerback position. After a difficult first season -- during which he admitted to "freelancing" at times as a starter in Mike Zimmer's exacting base defensive scheme -- Munnerlyn became exclusively a slot cornerback in 2015 and 2016, thriving in the role as the Vikings played him primarily in their nickel packages.
He intercepted two passes and recovered two fumbles, returning one for a touchdown, as the Vikings won the NFC North in 2015. And though Munnerlyn didn't intercept a pass in 2016, he had a solid year in coverage, starting nine games despite playing through a high ankle sprain late in the season.
Munnerlyn, 28, said several times after the season that he wanted to return to the Vikings but also admitted to "counting down the days" until free agency, out of excitement.
ESPN's Ben Goessling contributed to this report.