For a time, the two programs exchanged punches.

But then, James Madison’s veterans took center stage.

George Washington struck first and kept finding ways to add runs throughout the game, but it was JMU that held the final edge in a 12-7 nonconference win at Veterans Memorial Park on Tuesday.

“I felt like there was a sense of calmness in the dugout even though we went down early,” JMU head coach Marlin Ikenberry said. “I know we tied it in the second [inning], and then they went back up and then [we] had a big inning there in the fourth and then another big inning in the sixth. We knew we had to score runs. It was a bullpen day for us.”

JMU’s first lead took time, with the Dukes almost exclusively trying to keep pace with GW through the first three innings, but it all started to change in the bottom of the fourth.

The Dukes entered the bottom of the fourth inning trailing 5-3.

By the time the Revolutionaries were one out away from getting out of the frame, JMU had two runners in scoring position after a single from designated hitter Cameron Aycock and a hit batter during catcher Ben Barrow’s at-bat.

A double steal by the two put the Dukes in a good position as left fielder Kyle Langley stepped into the batter’s box. JMU needed a single, and five pitches later, that’s exactly what Langley did, sending the ball into left field and scoring Aycock and Barrow.

Langley advanced to second on a wild pitch before right fielder Ike Schmidly sent the left fielder home with his first triple of the season to put JMU up 6-5. Not long after, second baseman Reece Moody put JMU up 7-6 after a single to the right side.

“I love being a part of this offense no matter what the score is, however the game is going,” Langley said. “We’re all going to just keep fighting until we turn it to go our way. I happen to be the guy that was up at the plate in those situations where we really needed it. I was able to get it done today, but I trust any other guy in the lineup to do that same thing.”

JMU added an insurance run in the fifth after GW had cut the Dukes’ lead to 7-6 in the top of the frame. Barrow hit a bunt single to the pitcher to start the inning before Aycock reached third on a triple and reestablished JMU’s two-run lead.

Barrow’s impact continued into the later innings of Tuesday’s contest, with the catcher continuing to produce hits and runs. In the sixth, Barrow connected for a bases-clearing triple to put the Dukes up 12-6.

“It was awesome,” Barrow said. “I know I’ve had a lot of at-bats where, just, you’re hitting the ball well, but it’s straight to them. [To] finally get one in the gap and just get the whole team fired up and behind you — it’s just an awesome feeling.”

The two offenses only took an inning to settle into the midweek contest.

Both JMU and GW put at least one runner on during the opening frame, but there wasn’t much beyond that.

The second inning brought more hits, as each team began to find ways onto the scoresheet. It ended up being a mirroring effect during the second inning between the Dukes and Revolutionaries, as they both scored three runs apiece.

GW broke out for a three-run second inning against JMU starting pitcher Adam Horvath. The Revolutionaries had some early momentum after they opened the frame with a leadoff single from Conlon Walker.

A throwing error from Horvath during a pickoff attempt allowed Walker to take second, setting George Washington’s offense up with a runner in scoring position. Walker crossed home to open the scoring after a double from Jack Kent.

The left fielder soon followed after a groundout moved him to third, and a wild pitch narrowly allowed him to slide in safely at home. Originally, Kent was called out on the play, but a review overturned the decision to give the Revolutionaries a 2-0 edge.

George Washington’s Connor Jones singled following the wild pitch, ending Horvath’s afternoon. The right-hander was replaced by Tyler Muscar, who allowed an RBI double after just two pitches to grow the Revolutionaries’ lead to 3-0.

The visitors threw the first punch, but the Dukes had nearly an immediate response in the bottom of the second. Center fielder Clay Thompson and designated hitter Jack Cannizzaro both were hit by a pitch to start the inning before first baseman Wyatt Campbell hit a single to score Thompson from second.

Barrow loaded the bases after reaching on a bunt to third, and despite the shortstop hitting into a double play right after, Cannizzaro still scored to cut the Dukes’ deficit to one.

Langley sent a single just deep enough into the outfield to score Barrow and give JMU new life with a 3-3 tie.

“You need to have big at-bats by those guys,” Ikenberry said. “And I thought it was also a good opponent to play because they did play a lot of small ball there.”

The Revolutionaries plated a run in each of the next two innings to take a 5-3 lead into the bottom of the fourth inning. GW’s fourth run crossed on a groundout in the top of the third, and its fifth came an inning later on a sacrifice fly.

JMU right-handed pitcher Griffin Polley, who replaced Muscar ahead of the third, was charged with both runs. The sacrifice fly, though, was off the arm of left-handed pitcher Brode Susce, who came in for the right-hander.

After the Dukes claimed their first lead in the fourth, the Revolutionaries eventually fell out of the game, managing to score only one run in the fifth and ninth innings.

Susce earned the win for the Dukes, while six total pitchers factored into the bullpen game.

“It’s important for those guys who hadn’t been off the mound in a game situation [for] a long time,” Ikenberry said. “Those guys needed to get off the mound. We actually were trying to get some other guys off the mound too, like Griffin Madden and Lane Duff, but the situation just didn’t present itself tonight.”

JMU (11-8) opens its series at Coastal Carolina on Friday at 6 p.m.