91³Ô¹ÏÍø

Watch CBS News

Warriors defeat Nets, clinch spot in play-in tournament

Gui Santos scored a career-high 31 points, Draymond Green made two clutch free throws with 6.9 seconds remaining and the Golden State Warriors beat the Brooklyn Nets 109-106 on Wednesday to clinch a play-in spot.

Brandin Podziemski had 22 points, six rebounds and five assists for the Warriors (35-38), who won their first game at Chase Center since returning from a grueling 2-4 road trip.

Kristaps Porzingis added 17 points and De'Anthony Melton had 14, including a pair of free throws in the final seconds, as Golden State beat Brooklyn in San Francisco for the first time since Dec. 16, 2023.

Ziaire Williams had 19 points for the Nets, who have lost nine straight. Jalen Wilson added 15 points off the bench while Ben Saraf had 14 points and seven rebounds.

The sellout at Chase Center was the 600th consecutive sellout for the Warriors, the sixth-longest streak in NBA history,

warriors-nets-2268389079.jpg
Gui Santos #15 of the Golden State Warriors looks for an opening against Jalen Wilson #22 of the Brooklyn Nets during the second half at Chase Center on March 25, 2026 in San Francisco. Kelley L Cox/Getty Images

The Nets led most of the game, trailed going into the fourth then wore down over the final 12 minutes. Brooklyn shot 8 for 20 (2 for 9 behind the arc) down the stretch.

Still without injured star Stephen Curry, the Warriors committed 15 turnovers in the first two quarters and had trouble running their offense with much consistency.

The Nets also got off to a sluggish start and missed 10 of their first 15 shots before Williams warmed up. The former first-round draft pick repeatedly attacked through the paint and scored 11 points to help Brooklyn to a 58-50 halftime lead.

Golden State pulled within 63-62 midway through the third before Powell made consecutive 3-pointers to get Brooklyn on track..

Up next:

Nets: Face the Lakers in Los Angeles on Friday.

Warriors: Host the Wizards 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=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(); } }); }); }); });