91³Ô¹ÏÍø

Watch CBS News

Matvei Michkov has goal, 2 assists as Philadelphia Flyers beat Montreal Canadiens in regular season finale

Matvei Michkov had a goal and two assists and Porter Martone had one goal to lead the playoff-bound Philadelphia Flyers to a 4-2 win over the Montreal Canadiens on Tuesday night.

The Flyers rested most of their key veterans a night after they secured their first playoff berth since 2020 and first home playoff series since 2018.

Flyers fans dressed in orange waved "Let's Go Flyers" rally towels and were in a joyous mood for most of the festive night.

There are more good times ahead. The Flyers are set to travel to Pittsburgh for the first two games of an Eastern Conference first-round playoff series.

Michkov and Martone helped spoil Montreal's shot at hosting the East first-round series against Tampa Bay.

The 19-year-old Martone, who starred for Michigan State only weeks ago, scored his fourth goal of the season when he deflected in Michkov's point shot early in the first period for the 1-0 lead.

Oliver Bonk scored his first career NHL goal later in the period for a 2-0 lead. Michkov assisted.

Brendan Gallagher scored for Montreal to make it 2-1 in the second.

Michkov scored unassisted (his 20th overall) for a 3-1 lead in the second period as one fan raised a "We Want More!" sign.

Jake Evans cut it to 3-2 in the final seconds of the second period.

Alex Bump sealed the win in the third with his fifth goal of the season that made it 4-2. Samuel Ersson made 27 saves foe the Flyers and Jakub Dobes had 21 for Montreal.

Up next

The Flyers ended the season on an 18-6-1 tear that propelled them into third place in the Metropolitan Division.

The Flyers and Montreal hit the road to open the NHL playoffs.

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });