91³Ô¹ÏÍø

Watch CBS News

Cedric Mullins homers in 13th to lift Rays past Pirates in rain-soaked game

Cedric Mullins led off the 13th inning with a two-run home run and the Tampa Bay Rays outlasted the Pittsburgh Pirates 8-7 on a rainy Saturday night.

Mullins' blast to right field off Yohan Ramirez scored automatic runner Jonny DeLuca. Mullins entered the day hitting just .129 after signing with Tampa Bay in the offseason as a free agent.

Griffin Jax (1-2) pitched a scoreless 12th. Yoendrys Gomez allowed a run-scoring single to rookie Konnor Griffin in the bottom of the 13th, then struck out Joey Bart with runners on second and third to end it.

Both teams scored a run in the 11th. The Rays' Taylor Walls came around from first on a wild pickoff throw by Ramirez (2-1). The Pirates countered with Griffin's run-scoring fielder's choice.

Pittsburgh tied it at 5 in the eighth on rookie Nick Yorke's RBI single.

The first pitch was moved up 30 minutes in hopes that the teams could beat the rain. However, play was stopped for 2 hours, 27 minutes, with the Pirates leading 4-0.

The Rays then scored five runs in the fifth to take a 5-4 lead. Junior Caminero doubled in the first run and scored on Jonathan Aranda's single. Two batters later, pinch-hitter DeLuca lined a two-run single to center field, and Mullins followed with a go-ahead single.

Pirates ace Paul Skenes pitched four scoreless innings on his bobblehead day, including escaping a bases-loaded jam with none out in the second. The 2025 NL Cy Young Award did not return after the delay.

Rays starter Drew Rasmussen gave up two-run home runs to Ryan O'Hearn in the first inning and Marcell Ozuna in the fourth, but the Pirates couldn't hold the 4-0 lead.

Rays LHP Shane McClanahan (1-1, 3.95 ERA) was set to face RHP Mitch Keller (1-1, 2.86) on Sunday in the series finale.

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