91³Ô¹ÏÍø

Watch CBS News

Minnesota Frost win second consecutive PWHL Walter Cup with 2-1 OT win over Ottawa Charge

Liz Schepers scored 12 minutes into overtime and the Minnesota Frost won their second straight PWHL Walter Cup with a 2-1 win over the Ottawa Charge on Monday night in Game 4.

Each game in the best-of-five series went to at least one overtime and finished 2-1, with Game 3 going to triple overtime, the longest game in PWHL Finals history. The teams played 81 minutes, eight seconds of extra time in the series. 

PWHL Finals: Ottawa Charge v Minnesota Frost - Game Four
ST PAUL, MINNESOTA - MAY 26: Kelly Pannek #12 of the Minnesota Frost (C) celebrates her goal against the Ottawa Charge during the second period at Xcel Energy Center on May 26, 2025 in St Paul, Minnesota. / Getty Images

The fourth game came exactly a year after Minnesota fell to Boston 1-0 in a Game 4 double overtime before going on the road to win the inaugural Walter Cup.

Katy Knoll went along the wall and fed Schepers in front of the net. Goaltender Gwyneth Philips parried the first shot but Schepers poked home the rebound to clinch back-to-back Walter Cup titles for the Frost.

Maddie Rooney had 33 saves for Minnesota.

PWHL Finals: Ottawa Charge v Minnesota Frost - Game Four
ST PAUL, MINNESOTA - MAY 26: Tereza Vaniová #13 of the Ottawa Charge looks for the puck against the Minnesota Frost during the first period at Xcel Energy Center on May 26, 2025 in St Paul, Minnesota. / Getty Images

Midway through the second period Claire Thompson pinched in from the left point and fed Kelly Pannek alone on the right side of the net. Pannek beat Philips high for her second playoff goal.

PWHL Finals: Ottawa Charge v Minnesota Frost - Game Four
ST PAUL, MINNESOTA - MAY 26: Kelly Pannek #12 of the Minnesota Frost skates by the team bench and celebrates her goal with her teammates against the Ottawa Charge during the second period at Xcel Energy Center on May 26, 2025 in St Paul, Minnesota. / Getty Images

The goal marked the first time in the finals the Charge trailed in regulation.

The Charge trailed until the middle of the third period when Tereza Vanisova was left alone in front of the net and Danielle Serdachny fed her from below the end line.

It was the first point of the postseason for Vanisova, who led Ottawa with 15 goals.

Philips had 36 saves. The rookie had 148 saves in overtime in the postseason.

Ottawa's Aneta Tejralova, on a rush, hit the left post with a shot about five minutes into overtime and the Frost's Taylor Heise hit the right post about four minutes later.

The Frost will hold a championship parade at 6 p.m. on Wednesday in St. Paul, Minnesota. The team will walk from TRIA Rink through Seventh Place and Rice Park, past the Herb Brooks statue and into Xcel Energy Center. The celebration will continue inside the arena.


Note: The above video first aired on May 23, 2025.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });