91³Ô¹ÏÍø

Watch CBS News

Suárez gives up 10 hits as Reds snap Philadelphia Phillies' 4-game win streak

Brady Singer pitched six shutout innings, Spencer Steer drove in three runs and the Cincinnati Reds beat NL East-leading Philadelphia 6-1 Tuesday night, halting the Phillies' four-game win streak.

Singer (10-9) gave up three of the Phillies' four hits, struck out six and didn't walk a batter. The 29-year-old right-hander faced the minimum of 17 batters over the first 5 2/3 innings with the only hit allowed being a single by Nick Castellanos, whose grounder deflected off the glove of shortstop Elly De La Cruz. Castellanos was erased on a double play in the fifth.

Steer hit a two-run double in the third and Miguel Andujar added a solo homer for a 3-0 lead in the fourth. Andujar's eighth homer was his second since being traded to the Reds on July 31. Steer added a sacrifice fly and Jose Trevino had a two-run single in the sixth before the game was halted for 28 minutes by rain at the start of the seventh inning.

Bryce Harper spoiled the Reds' shutout bid with a two-out homer, his 18th, off Sam Moll during a downpour in the ninth inning.

Ranger Suárez (8-6) gave up a season-high 10 hits and six runs over 5 1/3 innings. He struck out three and walked two.

Key moment

Rafael Marchán singled and Trea Turner doubled him to third with two outs in the sixth. Kyle Schwarber, who came in tied with the Dodgers Shohei Ohtani for the NL home run lead with 42, grounded out to end the threat.

Key stat

The Reds had 10 hits and their six runs were the second-most the team has scored in August. They've scored 39 runs in 11 August games, 20 coming in two contests.

Up next

Phillies LHP Cristopher Sánchez (11-3, 2.36) pitches against Reds RHP Hunter Greene (4-3, 2.72) on Wednesday.

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