Campbell moves to 2-1 on the season, while East Carolina falls to 0-3 on the year.
After two reached on walks in the second without a score, Michael DeLucia led off the third for Campbell with a double into the corner in left. The senior catcher then scored on a Ben McQuown single up the middle to give the Camels their first run of the night.
Elijah Trail led off the fourth with a solo home run to left, putting the Camels up 2-0.
Brent Graham then gave the Camels a 3-0 lead with an RBI single in the top of the fifth, scoring McQuown, who reached on a double to right center.
In the home half of the fifth, the Pirates loaded the bases before Bryan Bass singled in Dylan Brown and Travis Watkins scored on a Chase McDonald sacrifice fly to cut the CU lead to 3-2.
With one out in the top of the sixth, the Camels rallied again, loading the bases with singles from Trail, Matt Nadolski and David Olson before Nick Ray's double plated two. DeLucia then chopped an RBI hit into right, scoring Olson and giving Campbell a 6-2 lead.
ECU added runs in the seventh and eighth, with Cannon scoring on a Reinheimer RBI groundout and Reynolds scoring on a Brown double down the right field line.
The Pirates went out in order in the ninth, grounding out three times to Graham at short.
Senior righty Logan Self picked up the win in relief to go to 1-0 on the season, pitching 2.0 innings with a hit, a walk and a strikeout. Starter Matt Marksberry went 4.0 innings, allowing eight hits, two runs, both earned.
Junior Ryan Thompson picked up the save, going the final 3.0 innings with three hits, two runs, one earned, a walk and two strikeouts.
Andy Smithmyer (0-1) was charged with the loss, pitching 5.0 frames while scattering five hits, three runs, two walks and five punchouts. Brett Mabry pitched 1/3 of an inning in relief, allowing three runs on three hits. Jake Harris tossed the final 3 2/3, surrendering three hits while striking out three.
The Camels return home on Thursday at 4 p.m., hosting Hartford in the Campbell Invitational. The game, originally scheduled for Friday, was pushed up due to the threat of inclement weather. The series will continue on Saturday in a 1 p.m. doubleheader.