91³Ô¹ÏÍø

Watch CBS News

Cruz hits 2-run HR, Chandler gives up 1 run in 6 innings, Pirates beat Rays 5-1

Oneil Cruz hit a two-run home run, Brandon Lowe went 3 for 5 with two doubles and two RBIs, and the Pittsburgh Pirates beat Tampa Bay 5-1 on Friday night to snap the Rays' six-game win streak.

Bubba Chandler (1-1) allowed a run and three hits over six innings. Mason Montgomery, Gregory Soto and Dennis Santana each pitched an inning of scoreless relief.

Marcell Ozuna and Spencer Horwitz each had three hits.

Ozuna led off the second inning with a single and opened the scoring when Horwitz doubled. Konnor Griffin followed with a single, but left fielder Chandler Simpson's throw home, though off line, gave catcher Nick Fortes enough time to apply the tag as Horwitz tried to score from second.

The Pirates have outscored their opponents 23-1 in the second inning this season, the best run differential in any inning by an MLB team this season. Pittsburgh's best run differential during any inning in 2025 was a plus-19 (71-52), also in the second inning.

Rays starter Nick Martinez (0-1), who went winless with a 2.41 ERA in his first four starts this season, gave up two runs in 5 1/3 innings. He allowed eight hits, walked three and had three strikeouts.

Simpson singled with two out, advanced to second on a wild pitch by Chandler and scored the Rays' only run when Junior Caminero singled.

Pittsburgh's Paul Skenes received his 2025 National League Cy Young award, which was presented by Doug Drabek, before the game. Skenes had a major league-best 1.97 ERA and 216 strikeouts in 187 2/3 innings last season. 

Skenes, Drabek (1990) and Vernon Law (1960) are the only Pirates players to win the award.

Up next

Skenes (3-1, 4.00 ERA) is set to start Saturday against Drew Rasmussen (1-0, 1.13) in the second of a three-game series.

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