PORTLAND—The stage was set.

After saving its best for last in the second half of the season, Portland’s football team was poised to do the same in the second half of Saturday afternoon’s Class B state final against Skowhegan at Fitzpatrick Stadium.

But there would be no dramatic comeback this time and as a result, the Bulldogs’ Gold Ball drought continues.

Portland, which won just one of its first four games this fall then caught fire to not only finish with a winning record, but secure the top seed and go on to capture the regional title, immediately learned it was in for a battle against the River Hawks, led by 6-foot-7 senior standout quarterback/defensive back Adam Savage.

After a scoreless first period, Skowhegan went on top to stay early in the second quarter when Savage found senior Tyler Annis for an 11-yard score.

The Bulldogs answered, as senior quarterback Kennedy Charles, whose heroics led the team to the brink of a championship, broke free for a 44-yard touchdown run, but the two-point conversion failed.


The River Hawks then closed the half strong, as one play after Savage and Annis hooked up for 85-yards, a 1-yard Savage scoring run extended the lead and with just 8.7 seconds remaining, Savage found senior Quintcey McCray for a 40-yard score to make it 20-6 at the break.

Then, in a microcosm of its season, Portland rose off the deck in the third period and got right back in the game when Charles capped a long drive with a 4-yard scoring run and senior Andrew Brewer added the two-point conversion to cut the deficit to six.

The Bulldogs’ defense then forced a punt and a memorable come-from-behind victory was there for the taking, but after driving to the Skowhegan 34, Charles was intercepted by Savage and the River Hawks were able to run out the clock from there and prevail, 20-14.

Skowhegan scored in just one of four quarters but did enough to finish the year 10-2, capturing its first state title since 1978 and in the process, snapping Portland’s seven-game win streak while ending the Bulldogs’ fine campaign at 8-4.

“It’s probably the best group of kids I’ve been around my whole life coaching,” said Portland coach Jason McLeod. “Not just the football players they are and the things they do on the field, but for the men they are off the field. It’s been great being around them. Their resiliency was profound over the course of the season.”

Something had to give


On Nov. 23, 2002, Portland defeated Edward Little, 41-6, to win the Class A state title, as Keith Derrig, Carl Frye and Will Hews led the Bulldogs to the crown.

Despite boasting several strong teams in the interim, Portland hadn’t been able to ascend to the pinnacle again although it played in the Class A state game in 2015, 2016 and 2018 (see sidebar).

After losing to Marshwood in the Class B South Final a year ago and having their quest for an unbeaten season erased in the process, the Bulldogs came back on a mission this fall, but their road to the top came fraught with obstacles.

For starters, senior Sam Esposito, the team’s quarterback, was hurt in a season-opening victory at Kennebunk. Portland then lost to eventual Class C champion Leavitt, perennial power Bonny Eagle and eventual Class A champion Oxford Hills to fall to 1-3 at the midway point.

As the schedule eased, the Bulldogs, now being led by Charles as a Wildcat quarterback, turned things around, winning their final four games of the regular season to surge to the top seed in Class B South (see sidebar for links to previous stories).

Portland then eliminated No. 8 Noble (42-13) in the quarterfinals, doubled up No. 4 Kennebunk (40-20) in the semifinals and last weekend, held off No. 3 South Portland (29-20) in the regional final to punch its state game ticket.


Skowhegan, meanwhile, was the favorite entering the year and lived up to billing by starting 6-0, but the River Hawks dropped to No. 2 in Class B North after back-to-back losses to Thornton Academy and Windham to close the regular season.

Skowhegan returned to form for the playoffs, downing No. 7 Brewer (42-6) in the quarterfinals, outslugging No. 3 Lawrence (66-48) in the semifinals, then rallying for a 28-20 win over No. 4 Falmouth in last weekend’s regional final.

The River Hawks had last won a state title in 1978, losing on the big stage in 1989 and 2008 in Class A and again in Class B in 2017. Skowhegan was also crowned Class B champion in 1951, 1953 (tied with Brewer), 1966 and 1969 (tied with Morse).

Entering play Saturday, Portland and Skowhegan had no playoff history.

On a sunny but chilly afternoon (41 degrees and dropping at kickoff), both teams turned to their quarterbacks to lead them to the Promised Land and Savage had just a little more help than Charles in ending the River Hawks’ drought.

Skowhegan won the coin toss to start the game and deferred possession to the second half and when junior Brayden Wales fell on the short opening kickoff, the Bulldogs began from their 44 and began to march.


Junior Reegan Buck got the game’s first carry and swept left for five yards. Charles then picked up seven yards on his first attempt for a first down at the River Hawks’ 44. After Charles gained two yards, he tried again and found room down the left sideline and picked up 11 more for a first down at the 31. Skowhegan’s defense then stiffened, as Savage dropped Charles for a one-yard loss, Charles was held to just one yard by senior Collin LePage and after Charles picked up four yards, he overthrew senior Harry Rubin in the end zone on fourth-and-6, giving the River Hawks possession at their 27.

Savage then immediately demonstrated how dominating he can be, but his heroics were short-circuited by penalties.

Wales dropped Savage for a three-yard loss on first down, then Savage got the three yards back before apparently breaking free for a 73-yard touchdown.

It was called back by holding and on third-and-12 from the 29, Savage again was a man among boys, bouncing off tacklers and running for 61 yards, but again, a flag was thrown and this time, an illegal block brought the ball back.

Skowhegan did earn a first down at the 46, but after junior Hunter Temple dropped Annis for a two-yard loss on a throw, senior Hunter McEwen was held to no gain by sophomore Aidan McGowan and after Annis caught a shovel pass for three yards, Savage had to punt and he pinned Portland at its 24.

The Bulldogs then shot themselves in the foot, as after Brewer ran for five yards and Charles gained one, Charles appeared to run for 12 yards and a first down, but holding was called and on third-and-9, Charles only ran for three yards, necessitating a punt.


With 1:10 left in the opening stanza, the River Hawks got the ball back at their 34 and in a drive that spanned the end of the first quarter and the start of the second, they would need just five plays and 94 seconds to march 66 yards to break the ice.

Savage got things started by running left and breaking into the Portland secondary for a 30-yard pickup to the Bulldogs’ 36. After Savage gained eight yards, McEwen was held to one, setting up third-and-inches, as the first period came to an end (with Skowhegan holding a 53-33 advantage in yardage). The second quarter began with Savage keeping the ball again and barreling for 16 yards on a play which culminated in him running over Buck, who had to leave the contest and he wouldn’t return.

Savage then dropped a shovel pass into the arms of Annis, running in motion to the right, and Annis did the rest, cutting back, then racing in for the 11-yard score with 11:36 to go in the first half. Senior George Mitchell added the extra point for a 7-0 River Hawks’ advantage.

When freshman Theo Paquette fell on the ensuing kickoff, Portland had great field position at its 47 and in just three plays and 57 seconds, the Bulldogs answered.

Charles did it all, first running for four yards into Skowhegan territory, then pushing the pile for five yards before running left, getting just a sliver of space and that’s all he’d need as he broke away for a 44-yard touchdown with 10:38 remaining before halftime. Brewer tried to put Portland ahead with a two-point conversion rush, but he was stopped short, allowing the River Hawks to retain a 7-6 lead.

The Bulldogs then pinned Skowhegan at its 16 and had a chance to get a stop and get the ball back, but instead, Savage and Arris turned momentum back to the River Hawks.


After senior captain Gavin Bennett held Savage to no gain, Skowhegan was flagged for illegal procedure, setting up second-and-15. Savage ran for three yards, but on third down, the River Hawks went for broke and Savage dropped back and lobbed a pass over the secondary into the arms of the streaking Arris, who ran all the way to the Portland 1 before running out of gas. Savage then capped the four-play, 84-yard, 2 minute, 45 second drive with a 1-yard touchdown run. Mitchell added the extra point to make it 14-6 with 7:48 on the first half clock.

Skowhegan’s defense then came up huge.

Charles returned the ensuing kickoff 35 yards and a horse-collar penalty tacked on 15 more, giving the Bulldogs the ball at the River Hawks’ 25, but after Brewer ran for four yards, Charles tried to hit sophomore Brody Viola in the end zone, but the ball was underthrown and intercepted by Savage at the 2.

Skowhegan went three-and-out, as Savage ran for two yards, then for three and for three more, forcing a punt.

Portland got the ball back at the River Hawks’ 39, but couldn’t take advantage, as senior Brandon Wyman held Charles to no gain, Charles picked up three yards, then Charles was dropped for a one-yard loss by senior Marshall Easler, forcing a punt, where Brewer pinned Skowhegan at its 7.

With just 2:03 remaining in the half, the River Hawks could have been content to go into the break with an eight-point lead, but instead, they went the distance and gained some valuable insurance.


Savage got the drive started with a 21-yard burst. After Savage ran for four yards, McCray gained three yards on a shovel pass. On third-and-3, Savage ran for 10 yards to move the chains to the 45. Savage and Annis then connected for 15 yards into Bulldogs’ territory and on the next snap, with time winding down, Savage dropped back and managed to locate McCray, who somehow got behind the Portland secondary down the right sideline, and McCray caught the ball and ran it in for the 40-yard TD with just 8.7 seconds showing.

“(The River Hawks) did a lot of good things in the first half and that (touchdown) was gutwrenching,” McLeod said.

After a penalty, Skowhegan had a bad snap on the extra point, but still managed to lead, 20-6, at halftime.

In the first 24 minutes, the River Hawks produced 265 yards of offense to just 99 for Portland, as Savage had over 100 yards both rushing and passing.

The Bulldogs were on the ropes, but would be a vastly different team in the second half, largely bottling up Skowhegan to open the door for a rally.

The River Hawks started the second half with possession at their 33 and threatened to put a stranglehold on the game, as after senior Romano McIlwain dropped Savage for a one-yard loss, then he ran for four yards, Savage connected with Arris on a deep slant for 32 yards and a first down at the Portland 32.


The Bulldogs’ defense then stiffened, as junior Isaak Alkafaji held Savage to no gain, McCray was thrown for a three-yard loss and after Viola knocked down a Savage pass, Skowhegan had to punt.

With 7:43 to go in the third quarter, Portland took over deep inside its territory, at its 5, but the Bulldogs would embark on a 95-yard drive that chewed up almost the remainder of the quarter and needed 11 plays, including one big one, to get right back into the contest.

Portland got five free yards to start with a River Hawks’ penalty and after Charles ran for two yards, Brewer picked up three to move the chains. After Charles ran for nine yards, he picked up three more for a first down at the 27. After Skowhegan jumped offsides, only to have the Bulldogs gave the five yards back with a false start penalty, Temple ran for three yards, Charles gained four and after a delay of game penalty set up third-and-8, Charles only gained five and he fumbled as well, but junior teammate Owen Swanson recovered to keep Portland alive. Then, on fourth-and-3, Charles dropped back to pass, rolled right, then threw back to the left where Rubin was wide open. Rubin caught the ball and raced all the way to the Skowhegan 9 to complete a dazzling 57-yard catch and run.

“Harry Rubin stepped in and made a pivotal catch for us,” McLeod said. “Hats off to him. He did what we asked him to do.”

Charles then ran the ball and got to the 4, but he was hobbled on the play and had to come out of the game, bringing Esposito into the contest. Esposito was then held to no gain by McEwen and the Bulldogs had to use a valuable timeout to get Charles back in the game.

It paid off, as Charles bulled in from the 4 and when Brewer added the two-point conversion rush with just 49.2 seconds left, Portland had cut the deficit to 20-14.


The Bulldogs’ defense then got the ball back.

The River Hawks got the ball on the ensuing kickoff at their 35 and Savage lost three yards on the final play of the third quarter. The fourth period began with Savage running for six yards, but on third-and-7, McIlwain and Bennett combined to sack Savage, forcing a punt, which was partially blocked, but it took a favorable Skowhegan bounce and Portland took over at its 31 with 10:03 remaining.

It would prove to be the Bulldogs’ final drive of the season and it didn’t produce the points Portland so desperately sought.

After Easler dropped Temple for a one-yard loss on first down, Charles took off for 13 yards and a five-yard facemask penalty was tacked on, giving Portland a first down at the 48. Brewer then ran for three yards and after Charles gained six, he ran for eight more and a first down at the River Hawks’ 35.

But Skowhegan refused to let the Bulldogs complete the comeback.

After senior Brayden Carr held Brewer to no gain, Charles broke multiple tackles but only gained a yard. Then, on third-and-9, Charles under pressure, heaved the ball downfield and Savage cradled his second interception of the game and not content just gaining possession, Savage returned the ball 40 yards, all the way to the Portland 45.


“I just didn’t want to fumble it, to be honest,” Savage said. “I just wanted to get back across the 50 so we could run down the clock.”

“We knew they weren’t going to give up,” Collin LePage said. “We had to settle down and take it one play at a time and one stop at a time. We just said, ‘Keep going, keep going, we’ll get it, we’ll get it.’ We got the one play we needed and it was game over from there.”

“We came down the field and they just made the plays when it was most important,” McLeod lamented. “What shouldn’t be lost is how well Skowhegan played defense. They did a good job containing our athletes and forcing us to grind and fight for the yards we got. They gave us a hard time.”

Even with the clock down to 4:37, the Bulldogs still had life if they could get the ball back, but Savage ensured that wouldn’t happen.

After Savage ran for three yards, he gained nine for a first down at the 33. After McEwen picked up three yards, Savage moved the chains again with an eight-yard burst to the 22. After Savage ran for two yards, then for seven, Portland used its final timeout with just over 40 seconds to play. Savage then backed up and milked several seconds before dropping to a knee and that was the final blow.

The clock ticked down and at 4:56 p.m., the horn sounded and Skowhegan was able to celebrate its 20-14 victory.


“It means so much to us players, coaches, the community, it’s just surreal,” Savage said. “We have an amazing community. It’s been 44 years, so a lot of people showed up to see a state championship. It’s just beautiful. We put in so much hard work. There’s so much dedication with this group. The coaches gave us the right game plan and gave us the right calls and whatever the defense set up in, we knew what to do.”

“It’s the best feeling in the world,” Skowhegan coach Ryan Libby said. “For these kids to roll through playoffs the way they did and to finish tonight the way they just did, it’s a great feeling to see them go all the way.”

The River Hawks ended up with 321 yards of offense, didn’t commit a turnover and were able to overcome nine penalties for over 100 yards.

Savage completed 8-of-9 passes for 187 yards and two touchdowns and was equally effective rushing, gaining 155 yards and scoring once on 24 attempts.

“Coach always says play with emotion, not emotional,” Savage said. “I had a couple rough games the last two weeks of the season and he really helped me get out of it. I just showed up and played with everything I had every time.”

“(Adam’s) playoff games this season have been phenomenal,” Libby said. “He gets a ton of touches and we ask him to do the lion’s share of the work offensively. He’s pretty special to watch play football.”


“(Savage is) a good player,” said Charles. “Good size. He has a good arm and an ability to make plays. He’s the kind of guy you want in that QB spot.”

“(Savage) really put the team on his back offensively and did some good things,” McLeod added. “He controlled the clock and didn’t turn the ball over. It’s a cliche, but if you win the turnover battle, you typically win the game. McEwen is a big, physical player and when he hits you live it’s a little different than seeing it on film. Then you have Savage running behind him and their big line, if they get a crease they take advantage of you.”

Annis had a terrific receiving afternoon, catching six balls for 144 yards with a touchdown.

McCray had two receptions for 43 yards with a TD.

McEwen ran four times for 10 yards.

Leaving it all on the field


Portland finished with 229 yards of offense and was only flagged three times for 15 yards, but the Bulldogs did turn the ball over twice.

Charles, despite being the focal point of the Skowhegan defense on every snap, finished with 151 yards and two touchdowns on 25 rushes. He was 1-of-4 passing for 57 yards with two interceptions.

“(The River Hawks) contained the outside really well,” Charles said. “We started running in more in the second half and we got up the field more. (Playing quarterback) was a new thing (for me), but I just had to step up to the plate and execute. Win or lose, I wouldn’t want to wear any other jersey. I’ll represent the Portland Bulldogs all day.”

“(Kennedy) made a lot of things comfortable that he was uncomfortable doing and he made it look easy, not only with his pure athleticism, but with his grit and determination and leadership and desire,” said McLeod. “He’s a special player and a special kid. I’m happy it’s not the end of him playing football. He plans to play in college. He’s a college level-type player.”

“We knew we couldn’t stop him altogether, but we had to contain him and certainly try to eliminate the big plays,” Libby said. “For the most part, we did that. He had that touchdown run and that great throw that set up their second score, but for the most part, our defense did what it did all year.”

Brewer ran five times for 15 yards.


Rubin had the team’s lone reception, good for 57 yards.

Portland was ultimately left heartbroken but proud and this group will go down in program lore for its grit, will and for emerging into something truly special.

“I’m very proud,” Charles said. “To get here is an accomplishment for this whole group. None of it was easy. I believe we grinded and worked for everything that we got. It’s sad to come out on the bad side of the scoreboard today. Skowhegan’s definitely a tough team, but we came to play in the second half and they didn’t score. If one thing different happened, we could have marched down and scored. They got the turnover when they needed the ball.

“We deserved to be here. It’s a mindset. We chose not to give up. Coach changed up the way things worked on offense and defense and it clicked. We had a rough start to the season, but things worked out in the best ways for us.”

“There are a lot of things we can dwell about, but at the end of the day, the kids fought their tails off,” McLeod said. “It’s a great group and I’m really happy the way they fought back this season.”

Press Herald staff writer Drew Bonifant and Morning Sentinel staff writer Mike Mandell contributed to this story.

Sports Editor Michael Hoffer can be reached at mhoffer@theforecaster.net. Follow him on Twitter: @foresports.

Comments are not available on this story.