Linebacker Aaron Curry returned one of his two interceptions 77 yards for a touchdown -- the Demon Deacons' ninth non-offensive TD of the season.
Riley Skinner completed 12 of 15 passes for 133 yards to help Wake Forest (6-2, 4-1 Atlantic Coast Conference) win its sixth straight and remain behind only unbeaten Boston College in the Atlantic Division race.
Marion also returned a fourth-quarter kickoff 83 yards to set up Adams' second scoring run of the game. Wake Forest won its seventh straight against a North Carolina-based team.
Adams, a redshirt freshman who grew up about 25 miles from the Tar Heels' campus, rushed 18 times for 82 yards with scoring runs of 6 and 14 yards.
T.J. Yates completed 26 of 33 passes for 236 yards with an 11-yard touchdown pass to Bobby Rome for the Tar Heels (2-6, 1-3), who held a 313-269 advantage in total yards. North Carolina has lost two straight and six of seven.
Curry picked Yates off twice, jumping in front of a fourth-quarter pass at the Wake Forest 23 and racing down the left sideline for his second interception return for a touchdown of the season -- and the Demon Deacons' fifth of the year.
Wake Forest scored the first three times it touched the ball, with Curry intercepting Yates on the first play of the game to set up Sam Swank's 23-yard field goal.
Wake Forest then went 73 yards in 12 plays, with Skinner completing 4 of 4 passes for 48 yards and Adams running 6 yards for a touchdown to make it 10-0.
After Connor Barth made it a 7-point game with a 38-yard field goal early in the second, Marion took the ensuing kickoff at the 2 and burst untouched down the right sideline and into the end zone for the second-longest kick return in school history.
Swank became Wake Forest's career scoring leader, later adding field goals of 22 and 46 yards and kicking three extra points to move to 250 points -- 10 ahead of the 240 scored by running back Chris Barclay from 2002-2005.