MERIDIAN — The state's No. 1 5A scoring defense gave up more rushing yards than it had all season. The state's No. 1 5A scoring offense was held to the least amount of points since the last time it lost.

It resulted in the longest winning streak in 5A being snapped, Rigby upset Rocky Mountain 31-9 on Friday night in the state semifinals.

The loss ends Rocky Mountain's 22-game winning streak as the Grizzlies (10-1) fell for the first time since the 2017 state semifinal, when it lost to Highland 26-3.

“You feel horrible for our kids, they played hard," said Rocky Mountain coach Chris Culig. “We came out and we didn't play really well. That's a good football team, and when you don't play well, your score reflects it."

Rocky Mountain went 12-0 last season on its way to its second state title in school history, and won its first 10 games of this season, looking primed to repeat.

But the visiting Trojans dominated on both sides of the ball, rushing for 207 yards and holding Rocky Mountain quarterback Colby Jackson to just two yards on 1-of-9 passing.

“They got the best of us tonight, that's how sports works,” said Jackson. “That's the beauty of it. That's what makes winning so special and losing so hard. It's competitive sports at its finest.”

The Grizzlies had certainly done a lot of winning this season, coming into the game having scored an average of 39 points and giving up an average of 11.7 Only one of their wins this season, a 19-13 victory against Eagle in overtime, was by one possession.

On Friday they were beat on both sides of the ball as they gave up a season-high 403 total yards to the Trojans (9-1) and were held to a season-low 142 total yards. The nine points scored was the lowest by a Rocky Mountain team since their last loss. But Culig said it wasn't the offensive struggles that threw the Grizzlies off their game.

“I think the bigger impact was on defense, where we're not used to people scoring,” the coach said. “So when they score, we struggle with that and we lost a little confidence early in the first half. We settled down a little bit, but then we just gave up big plays, which you can't do.”

Rigby showed early it could move the ball, getting itself into a first-and-goal situation on the first drive of the game. The Grizzly defense answered the call, and a third down pass was caught out of bounds, forcing the Trojans to settle for a 27-yard field goal by Brendan Behunin. But it was one of the few highlights of the game for the defense.

Rocky Mountain had its own drive stall deep in enemy territory on its second possession, having to settle for a 24-yard field goal from Steven Stoddard after getting it down to the Rigby 5. That tied the game at 3-3.

“You got to finish drives, you want to finish drives,” said Culig. “And when you're playing good teams, you know every opportunity you got to take advantage of and you got to make plays. We didn't and that's why we lost.”

From there it was all Rigby. After a defensive pass interference penalty kept a Rigby drive alive, the Trojans took 10-3 lead early in the second quarter on a 15-yard pass from Keegan Thompson to Trajen Larsen. A 16-yard touchdown pass from Thomson to Christian Fredricksen made the score 17-3 shortly before halftime. Thompson added his third passing touchdown as he found Brycen Uffens past the Grizzly defenders and connected for a 32-yard touchdowns.

Rocky Mountain finally found the end zone early in the fourth quarter when backup quarterback Kobe Warr connected with Jordan Erickson for a 10-yard touchdown pass, but by that point it was too late for the Grizzles, who came out on the losing end for the first time in two years.

“Rocky works hard at everything they do, so it's tough when you fail,” said Jackson. “But everyone fails, it's just a part of life. You just got to keep moving forward and know you got your loved ones next to you.”

Rigby moves on to the state title game. It will face Coeur d'Alene (9-2) next week at the Kibbie Dome in Moscow.