The downtrodden Tar Heels owned a 23-13 lead early in the fourth quarter, but the Hurricanes put together two long touchdown marches that both ended with runs from Crawford.
After Crawford scored from 3 yards out with 11:29 to play to bring Miami within seven, the teams embarked on a wild final stretch that saw both quarterbacks throw an interception.
North Carolina eventually punted the ball with 4:18 to go and pinned Miami back on its own 10-yard line.
The Hurricanes, however, embarked on a 90-yard, 13-play drive on which Crawford carried eight times for 29 yards. He finished with 137 yards on 37 carries.
Miami advanced to 6-0 for the season and is 2-0 in the Atlantic Coast Conference's Coastal Division. Virginia Tech holds a 3-0 division record. North Carolina fell to 1-5 and 0-3.
North Carolina built its lead thanks to four interceptions suffered by Miami quarterback Stephen Morris, who completed 18-of-34 passes for 287 yards without a touchdown.
Thomas Moore kicked three field goals for the Tar Heels and Bryn Renner went 27-of-36 for 299 yards and a touchdown.
The only Miami touchdown of the first half came on a 67-yard blocked punt return by Ladarius Gunter.
Ohio crash that killed two caught on camera [VIDEO]
Couple calls 9-1-1 over missing hash browns; assault McDonanld's employees