Grand Rapids’ 3-2 upset of top-ranked Eden Prairie started with goaltending and scoring from unexpected places.

Zach Stejskal stopped 47 shots while teammates Keaghan Graeber and Connor Stefan made huge plays on the offensive end. The efforts added up to a stirring victory in Friday’s Class 2A semifinal and a date with Moorhead at 7 p.m. Saturday in the first all-northern Minnesota title game since 2007.

“That’s a great hockey team we beat tonight,” Grand Rapids coach Trent Klatt said. “We needed additional scoring and boy, did we get it.”

Graeber scored a goal in the second period and made things happen in the third. He lost his feet, yet slid the puck toward Stefan to bury for the lead at 7:56. No. 5 seed Grand Rapids (22-8-1) held off No. 1 seed Eden Prairie (22-5-2) the rest of the way.

Not without drama, however.

Defenseman John Stampohar, credited for a first-period goal after his shot deflected off the stick of Eden Prairie’s Casey Mittelstadt and past goalie Nick Wienceck, got called for a penalty with 1:40 left in the game.

“I knew at the 10-minute mark they weren’t going to call another penalty,” Klatt said. “I guess I was wrong.”

Eden Prairie trailed in the third period of all three previous postseason games and kept faith in another comeback.

“We had a couple more chances but we missed the net on one,” Eagles coach Lee Smith said. “About the only thing you can regret is a lot of pucks missed the net.”

The loss means Mittelstadt, a future first round NHL draft pick, and 10 senior teammates fell two victories short of their state championship dream. Wayzata defeated the Eagles in the title game last March.

This year, after the Eagles defeated Grand Rapids in the semifinals last year, the rematch went to the Thunderhawks.

“The people who were on that team definitely had a little extra drive,” Graeber said of Friday’s redemptive victory.

First report

A 3-2 Grand Rapids upset victory of top-ranked Eden Prairie sets up the first greater Minnesota title game since 2007.

The last time two teams from outside the metro area met in the title game was in 2007 when Roseau defeated Grand Rapids.

On Friday the Thunderhawks got the go-ahead goal at 7:56 of the third period. Keaghan Graeber lost his feet, yet slid the puck toward Connor Stefan to bury.

Thunderhawks goaltender Zach Stejskal stopped 47 shots to lead his fifth-seeded team over the 2A consensus favorite.

Eden Prairie had trailed in the third period in all three previous postseason games but for the first time, could not comeback. The loss ends Casey Mittelstadt’s quest to bring the Eagles their third state championship. The future NHL first round pick stayed home and led a talented team on a whirlwind season that ended two victories short.

Each team scored once in the first two periods.

Eden Prairie to a 1-0 lead at 5:15 of the first as Ryan Lesko followed the rebound of his own shot and smacked the puck into the Grand Rapids net.

Puck luck helped the Thunderhawks return serve. John Stampohar’s low-angle shot deflected off Mittelstadt's stick and past goalie Nick Wienceck with a little more than one minute left.

The Grand Rapids student section chanted, “Thank you, Casey.”

Grand Rapids broke the 1-1 tie in the second period as Graeber pushed a loose puck past Eagles’ defenseman Nick Leivermann, went to the net and scored.

From there, both teams saw golden scoring chances produce nothing but frustration. Then Mittelstadt found an opening and got off a shot that was blocked. But linemate Jack Jensen followed the play and swept the loose puck home for a 2-2 tie at 14:33 of the second period.

Eden Prairie defeated Grand Rapids 6-2 in their semifinal meeting last season. In regular season play on Dec. 16, the Thunderhawks defeated the Eagles 3-1.