Campbell moved to 9-12 overall on the season, while NCSU dropped to 12-10.
The Wolfpack cut the Campbell lead to 7-5 with a three-run sixth that included a two-run single from Daniel Pitarra.
Hallum drove in his third run of the night with two out in the eighth, adding an insurance run with a RBI single. Adam Wyse also scored on a wild pitch in the inning, putting CU up 9-5.
NC State rallied in the ninth, scoring three in its final turn. With two out and a man on, Andy Cosgrove tripled to make it 9-8, but a groundout to second ended the rally to seal the road win.
Andrew Witczak (1-2) picked up the win for the Camels, working three innings with two runs on three hits with one strikeout in a scheduled short start. Wes Noble was the second of seven Camels to take the mound, throwing two scoreless innings with two hits and two strikeouts.
Christian Demby (0-2) was charged with the loss, allowing five runs on five hits with two strikeouts in 2 1/3 innings.
The teams combined for 26 hits, with Campbell leading the way at 14.
Hallum went 3-for-4 with three RBI and a run for the Camels, picking up his third home run of the season. Barefoot collected a 3-for-5 night with his fourth homer of the year, also doubling twice.
Kyle Mehl also drove in a run and went 3-for-4, while Wyse scored three times, going 3-for-5. Jones, who led off the night's scoring with a solo home run in the second, was 2-for-5.
Pitarra paced NC State, going 3-for-3 with three RBI and a run. Josh McLain knocked in two with a two-run homer in the bottom of the third, while Brett Kinneman scored twice in the loss.
Campbell begins Big South play this weekend, traveling to Gardner-Webb. The three game set begins on Friday, March 24 at 6 p.m. CU returns to Jim Perry Stadium on March 31, starting a Big South series with Charleston Southern.