It’s been an offense-powered season for the Keene Swamp Bats.

It’s been a summer full of broken records, back-and-forth slugfests and scoreboards lighting up in double digits for both sides.

But ironically, the final game of the Bats’ 2019 campaign was a defensive duel, dominated by some unusual suspects.

Marc Davis had a solid start on the mound, David Matthews hit a clutch three-run homer to drive in the winning runs and Jonathan Edwards delivered what could easily be considered the best relief performance of Keene’s season.

In the end, Edwards threw the final strike against the Martha’s Vineyard Sharks’ Nander De Sedas and chucked his glove toward the dugout in celebration.

The Bats defeated the Sharks, 4-2, in Game 2 of the NECBL Championship, clinching a 2-0 series win and bringing the Fay Vincent Sr. Cup back to the Elm City for the first time since 2013. It marked Keene’s sixth league title, and first to be won at Alumni.

“It’s kinda surreal, because I haven’t had a great year this year, so this is just what it all came to,” Edwards said. “I had to have my best performance at the end, and I had it.”

Edwards entered the game with two outs and runners on first and second in the top of the fifth inning. He struck out Michael Knell to get out of the jam, and from there, he was dealing.

He finished the game with 4.1 scoreless, hitless innings, allowing four walks and striking out 10, a season-high by a wide margin, to earn the win.

It was a big step up from the regular season, where Edwards went 2-2 in 14 relief appearances with an 8.67 ERA and 21 strikeouts. But Edwards seemed to be riding the energy of the night, pumping his fist and shouting in triumph with every inning he finished as the Keene crowd roared and both teams jawed back and forth at each other.

“The energy was crazy,” Edwards said. “Both teams have been chirping back and forth, even [in Wednesday’s Game 1 in Martha’s Vineyard] we had been chirping, so it was just electric.”

As strong as Edwards’ performance was, it doesn’t take away from the start Davis put in, especially given the circumstances.

After Davis sent the Sharks down in order in the top of the first, a bolt of lightning sent the game into a weather delay that would go on to last two-and-a-half hours. Still, Davis returned to the mound when his time came, and went on to pitch 4.2 innings, allowing two earned runs on two hits and nine walks with six strikeouts.

Adding in that this was only Davis’ third start of the summer — following a regular season where he went 2-2 in 12 appearances with a 7.50 ERA and 33 strikeouts — and it was a solid outing.

“I give Marc Davis a lot of credit,” Matthews said. “Starting the game and flowing through that first inning, and then having to take a break and kind of reset and start over, it’s very tough to do, especially for a guy who doesn’t start a lot.

“For him to step up and take that starter’s role and come in here and dominate the way he did, keep us in the game all game, there’s nothing you can really ask for more than that, so hats off to him.”

First-year manager Gary Calhoun added to the praise of Davis and Edwards: “I think that’s just an indication of what they are gonna be. They’re gonna be better than they were today. They’ve got the arm strength and the pitches, it’s a matter of developing between the ears and all that stuff. A summer like this will help them get to where they could be, and I think both of them are draftable guys down the road.”

Both teams put “0”s on the scoreboard in every inning except the third.

Martha’s Vineyard took the lead in the top half of the inning, putting together a rally that featured only one hit but four walks, including two with the bases loaded.

But after Davis got out of the jam, the Keene offense went to work, all with two outs.

Kyle Ball got the Bats on the board with a home run to center field. Ball finished the postseason hitting a stellar 9-for-20 (.450) with a team-leading two homers, five runs scored and five RBI.

After a double to right by Logan Mathieu and a walk to Ryan Hogan — who started with the Sharks before a midseason transfer to Keene — Matthews stepped up and hit a no-doubter to center, a towerinig blast that gave Keene a lead it would never relinquish.

It was a big moment for a guy who started out as one of the league’s most explosive hitters — hitting six homers in his first eight games — but then experienced a slump in late June and early July and dropped into a platoon role with Tommy Joseph and Justice Lucas.

Matthews finished the regular season with 95 at-bats and a slash of .211/.321/.516, but Thursday was his night to shine.

“This summer has been very strenuous mentally and physically for me. I’ve learned a lot about myself this summer,” Matthews said. “At the start of the playoffs, the mindset was to come here and put the team first and do what I can to produce for us, offensively and defensively. I got my shot tonight, and thankfully it went our way tonight.”

Calhoun added: “It’s great. You like to see them all contribute.”

Now, having dodged another four-hour bus-and-ferry ride to Martha’s Vineyard tonight with the series sweep, the players get ready for another long trip: the trip back home, and then back to school, where they’ll rejoin their college teams with all the new experience they picked up in Keene.

“This is my first summer ball experience, so this is just amazing,” said Edwards, a rising sophomore at Georgia Southern University. “I grew close to every single one of these guys, and I love them like they’re my brothers. It’s like I have another team besides my school team.”