91³Ô¹ÏÍø

Watch CBS News

Bo Horvat lifts the Islanders to a 3-2 shootout victory over slumping Blackhawks

Bo Horvat scored in regulation and the shootout, helping the New York Islanders beat the Chicago Blackhawks 3-2 on Tuesday night.

Horvat had the only successful attempt in the tiebreaker, beating Spencer Knight on the goaltender's stick side.

Calum Ritchie also scored for New York in regulation. David Rittich made 17 saves before denying Teuvo Teravainen and Ryan Donato in the shootout.

The Islanders won for the third time in four games.

Teravainen and Nick Lardis scored for Chicago, and Knight stopped 19 shots through overtime. The Blackhawks dropped to 3-9-2 in their last 14 games.

Chicago had a chance to win in regulation, but Nick Foligno shot the puck off a post on a prime scoring opportunity in the final seconds. New York came up empty on a power play in overtime.

Blackhawks forward Jason Dickinson did not play after the first period. The team did not announce an injury when  he wouldn't return to the game.

The Blackhawks were already playing without  and  because of injuries.

New York made the most of a slow start for Chicago, jumping out to a 2-0 lead in the first.

Following a turnover by Blackhawks defenseman Wyatt Kaiser, Ritchie beat Knight from the slot for his fifth goal at 2:56. Horvat added his 21st goal at 12:08, scoring for the second straight game by converting a one-timer on a power play.

Matthew Schaefer, the No. 1 pick in this year's draft, recorded his 16th assist on Horvat's goal. The 18-year-old Schaefer became the youngest defenseman in NHL history to reach 25 career points.

The Blackhawks rallied with two goals late in the second. Oliver Moore picked up primary assists on Teravainen's seventh of the season at 15:31 and Lardis' second career goal in the final seconds of the period.

Up next

Both teams play at home Thursday. The Islanders face the Utah Mammoth, and the Blackhawks take on the Dallas Stars.

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(); } }); }); }); });