91³Ô¹ÏÍø

Watch CBS News

Knicks stay alive in race for No. 2 seed in East, beat Celtics in Tatum's return to MSG

Josh Hart scored 15 of his 26 points in the fourth quarter, Jalen Brunson had 25 points and 10 assists, and the New York Knicks stayed alive in the race for the No. 2 seed in the Eastern Conference with a 112-106 victory over Jayson Tatum and the Boston Celtics on Thursday night.

Tatum finished with 24 points, 13 rebounds and eight assists in his first game back on the Madison Square Garden court where he ruptured his Achilles tendon in last season's playoffs.

The Knicks (52-28) pulled within two games of the Celtics (54-26) for second place with two games to play for both teams. New York owns the tiebreaker after winning the season series 3-1 and would take the No. 2 seed with two wins and two Boston losses.

Hart made two 3-pointers in the final 42 seconds to give New York more wins this season under Mike Brown than in its 51-31 finish last season in Tom Thibodeau's final season.

The Knicks then knocked off the Celtics in the second round of those playoffs, helped by Tatum's season-ending injury in Game 4 of the series. He acknowledged some nervousness and anxiousness Thursday before playing again in the arena before finishing just shy of his second triple-double since returning to play last month.

The Celtics had their four-game winning streak snapped while playing without leading scorer Jaylen Brown, averaging 28.8 points, because of left Achilles tendinitis.

Payton Pritchard added 23 points and Baylor Scheierman had 20, going 6 for 7 from 3-point range.

The Knicks host Toronto on Friday in a possible playoff preview and close against Charlotte on Sunday. Boston hosts New Orleans on Friday and Orlando on Sunday.

Up next

Celtics: Host New Orleans on Friday.

Knicks: Host Toronto on Friday.

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