Crawford's short score ended a 90-yard drive by the Hurricanes (6-0, 2-0 Atlantic Coast Conference) and capped his own big performance in the backfield after Miami lost top rusher Duke Johnson to an early injury. Crawford finished with 137 yards on 33 carries - surpassing his season totals in both categories - and two touchdowns to help the Hurricanes barely avoid a big upset.
The Hurricanes won despite Stephen Morris throwing four interceptions, as many as he had thrown all year, while the defense surrendered a season-high 500 yards against the Tar Heels' no-huddle scheme.
But Miami got the stop it needed at the end, with Bryn Renner's final heave into the end zone from the Miami 28 falling incomplete on the game's final play.
The loss was the latest stinging setback for the Tar Heels (1-5, 0-3), who entered the year with hopes of winning the ACC's Coastal Division but now find themselves off to their worst start since 2006. They led this one 23-13 early in the fourth only to see Crawford score twice in the final 11½ minutes to erase the deficit.
Eric Ebron had eight catches for 199 yards - a single-game record for a North Carolina tight end - while Quinshad Davis also hauled in a touchdown pass from Renner.
North Carolina was going for its first win against a top-10 opponent since beating then-No. 4 Miami here on a last-second field goal in 2004.