WINDHAM – Todd Allen rushed for the go-ahead touchdown in the third overtime, and Windham stopped a 2-point conversion attempt to secure its fourth straight victory — a 20-19 win over South Portland in a Western Class A football game Saturday.

Allen’s 5-yard run and an extra point by Josh Dugas gave the Eagles (4-3) a 20-13 lead. Joey DiBiase then scored on a 10-yard run for South Portland (5-2), but the conversion run failed.

Windham broke a scoreless deadlock on Allen’s 19-yard pass to Kyle Deschenes in the third quarter. South Portland tied it with about four minutes left in regulation on Michael Salvatore’s 2-yard pass to Zach Compton.

After neither team scored in the first overtime, DiBiase put South Portland ahead with a 2-yard run in the second overtime, but the extra point was no good. Windham also missed its conversion after Allen answered with a 1-yard TD run.

WESTBROOK 28, FALMOUTH 25: Kyle Heath scored on a 60-yard run and finished with 93 yards on 13 carries, and Ben Grant, Terry Webber and Graham Strondak also scored touchdowns as the Blue Blazes (3-4) held off the Yachtsmen (5-2) at Westbrook.

Strondak’s 13-yard run with 7:27 left in regulation gave Westbrook a 28-19 lead.

Matt Kingry threw for 157 yards and three touchdowns and rushed for 64 yards and a touchdown for Falmouth.

CHEVERUS 21, PORTLAND 7: Spencer Cooke ran for 182 yards and two touchdowns to lead the Stags (7-0) past the host Bulldogs (2-5).

Jayvon Pitts-Young put Portland ahead with a 4-yard run in the first quarter, but Cooke evened it with a 24-yard run in the second. Cam Olson put Cheverus ahead with a 44-yard run in the third.

SANFORD 18, KENNEBUNK 6: Alex Shain had touchdown runs of 57 and 65 yards in the first quarter to lead Sanford (4-3) at Kennebunk (1-6).

Jon Schroder added a 9-yard scoring run in the fourth quarter before the Rams got on the board with a 29-yard touchdown pass from Kip Richards to Larson Coppinger.

NOBLE 34, BIDDEFORD 15: Derek Shute scored two of his three touchdowns in the fourth quarter as the Knights (1-6) scored 28 points in final 12 minutes to pull away from the Tigers (0-7) at Biddeford.

Ethan Beaulier threw for a pair of touchdowns for Noble, and Adam Della-Piana caught one touchdown pass and had three interceptions.

Biddeford’s Nick Leblond threw TD passes to Tyler Vigue and Matt Cote, and Connor Morrison kicked a 29-yard field goal.

BRUNSWICK 33, OXFORD HILLS 7: Jason Carter threw for 152 yards with three touchdown passes, including two to Garret Erb, to lead the Dragons (6-1) past the Vikings (1-6) at Brunswick.

Keith Kitchens ran for 119 yards and a touchdown for Brunswick. Jordan Rysdham also had a touchdown run.

CAPE ELIZABETH 29, FRYEBURG ACADEMY 6: Donald Clark rushed for 68 yards and a pair of touchdowns as the Capers (6-1) beat the Raiders (1-6) at Fryeburg.

Bill Brooks had 66 receiving yards and a touchdown, and quarterback Connor Maguire was 8 of 11 for 92 yards.

Fryeburg, which committed five turnovers, got a 16-yard touchdown pass from Andrew Rascoe to Tyler Nadeau in the fourth quarter.

TRAIP ACADEMY 28, LISBON 7: Nick Dulac ran for two touchdowns and Tyler Nay and Cory Aldecoa also had touchdown runs as the Rangers (5-2) rolled past the Greyhounds (5-2) at Lisbon Falls.

Kyle Sheehan had a 3-yard touchdown run for Lisbon in the fourth quarter after Traip built a 28-0 lead.

WELLS 34, LAKE REGION 6: Dante Fanning had a 52-yard touchdown run and Tim Leblanc caught a 17-yard touchdown pass as the Warriors (7-0) rolled past the Lakers (0-7) at Naples.

Louis DiTomasso and Doug McLean also had rushing touchdowns. Jake Moody returned a punt 36 yards for a score.

Damian McKeil scored on a 2-yard run for Lake Region in the fourth quarter.

NOKOMIS 22, CAMDEN HILLS 7: Austin Chipman scored three touchdowns as the Warriors (1-6) snapped a 21-game losing streak, at Newport.

Alex Crams scored on a 35-yard run in the third quarter for Camden Hills (0-7).