North Carolina (21-6, 9-4 Atlantic Coast Conference) put five players in double figures with Allisha Gray scoring a team-high 18 points. Diamond DeShields had all 13 of her points in the second half, and Latifah Coleman and N'Dea Bryant added 11 and 10 points, respectively.
A 12-4 run out of halftime put Carolina up 46-36 with 16:17 to go. DeShields, held scoreless in the first half, canned a jumper in the lane during the spurt to get her going.
Carolina scored 13 of the next 16 points to extend the second half run to 24-7 and the lead to 58-39 with 11:25 left.
Virginia cut the lead under double figures in the final minute, but two free throws from DeShields iced the victory with 13 seconds left.
Faith Randolph led Virginia (13-13, 6-7) with a game-leading 24 points.
Four lead changes and three ties summed up a tight first half. North Carolina took a 10-4 lead just four minutes into the game, its largest advantage of the opening half.
Virginia answered with a 10-0 run to go up, 14-10, its largest lead of the first half. From that point until intermission the lead was never more than four points the rest of the way for either club.
Carolina regained a 25-23 lead at the six minute mark on a layup from Danielle Butts, before Virginia ran off the next six points to lead by three, 28-25.
A fast-break jumper by Coleman made it 32-28 Carolina with 2:05 until the half. The Tar Heels would go into the break up 34-32 as Bryant led the way with eight points.
North Carolina returns home to host Virginia Tech on Sunday at 2 p.m.