91³Ô¹ÏÍø

Watch CBS News

Rockies beat Marlins 6-4

Hunter Goodman homered twice, including a go-ahead two-run shot in the fifth inning, and the Colorado Rockies beat the Miami Marlins 6-4 on Monday night to snap their fourth eight-game losing streak of the season.

It was the 10th win against 50 losses for the Rockies, who had already wrapped up the worst 60-game start in the modern era (since 1901). The 1904 Washington Senators and 1932 Boston Red Sox both opened 11-49.

Goodman had a two-out single in the first off Max Meyer, and Thairo Estrada followed with an RBI double to give Colorado the lead.

Goodman was charged with an error in the bottom half when he dropped a throw at home plate, allowing the tying run to score. Otto Lopez added an RBI single off Germán Márquez, and a sacrifice fly by Eric Wagaman gave Miami a 3-1 lead.

Jesús Sánchez's run-scoring double made it 4-1 in the second.

Goodman homered in the third, and Tyler Freeman's two-out RBI single in the fourth got the Rockies within a run.

Ezequiel Tovar singled leading off the fifth and Goodman followed with his ninth homer for a 5-4 advantage.

Keston Hiura doubled leading off the ninth for his first hit with Colorado, and Sam Hilliard's one-out double drove in an insurance run.

Márquez (2-7) allowed four runs — three earned — and nine hits in five innings. Jake Bird, Tyler Kinley and Seth Halvorsen each pitched a scoreless inning before Zach Agnos worked the ninth for his fourth save.

Meyer (3-5) gave up five runs — four earned — and 10 hits in five innings.

Miami has lost three of four to begin a six-game homestand.

Sánchez singled leading off the ninth for Miami (23-35) before he was forced out at second on a pop fly by Agustín Ramírez that dropped in front of Freeman in right field. Agnos got Kyle Stowers to hit into a game-ending double play two pitches later.

Goodman, a third-year catcher, leads Colorado in home runs and RBIs (34).

Marlins RHP Sandy Alcantara (2-7, 8.47 ERA) starts the middle game of the series Tuesday. The Rockies hadn't announced a scheduled starter.

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