Edina gave up its first points in 2 ½ games Thursday night but still beat Shakopee 31-14 in its homecoming game.

Senior Nick Bloom scored touchdowns on offense and defense for the Hornets, whose 10-quarter shutout streak ended when Shakopee scored a third-quarter touchdown. Matt Cavanagh, Anders Nelson and Patrick Peterson also scored for Edina (5-0).

Bloom credited the scoreless streak to Edina's defensive line, which he said has been playing "selflessly."

"They're doing whatever we ask of them," he said. "That frees up room for the backers and the safeties."

In front of a capacity crowd at Kuhlman Stadium, Edina, ranked No. 3 in Class 6A, scored three touchdowns in the first quarter while forcing three Shakopee punts. That included a fumble return by Bloom eight seconds after Cavanagh rushed for a score.

"All the credit to [defensive lineman] Greg Bess," Bloom said of the play. "He rocked the guy and freed the ball up. Wasn't too hard for me to just scoop that and score."

Bloom added a rushing touchdown late in the second quarter.

For Shakopee (2-3), quarterbacks Daniel Kulus and Jack Sievers each threw touchdown passes to Garrett Mitchell. Connor Raines had an interception and fumble recovery for theSabers, who held Edina's offense scoreless in the second half and forced three turnovers.

Edina matched its 2016 win total with the victory. The Hornets' remaining three regular-season games are against Class 6A Minnetonka (ranked second), Maple Grove (sixth) and Eden Prairie (first).