91³Ô¹ÏÍø

Watch CBS News

Anderson's First Career Grand Slam Lifts Marlins Over Brewers

MILWAUKEE (CBSMiami/AP) — The Miami Marlins couldn't stop scoring runs and took down the Milwaukee Brewers 8-3 on Wednesday night.

Brian Anderson noticed Jimmy Nelson was struggling with his breaking ball and he took advantage.

Anderson hit his first career grand slam, Sandy Alcántara pitched seven crisp innings and the Marlins spoiled Nelson's return to the majors.

Starlin Castro and Bryan Holaday each drove in two runs as the surging Marlins earned their fourth straight victory. Curtis Granderson had two hits and scored twice in his first multihit game since May 24.

Nelson lasted just three innings in his first big league start in 21 months. The right-hander was cheered loudly when he was introduced with the starting lineup and  from the Miller Park crowd of 26,615 when he went out to the mound for the first.

Nelson, who turned 30 on Wednesday, was working on a breakout season in 2017 when he injured his pitching shoulder diving back to first after rounding the base on a single. He had surgery and missed last year when Milwaukee won the division title and made it to the NL Championship Series.

"The reception from the fans and the excitement of all the teammates and staff here the last day or two is something I'll always remember and always appreciate," Nelson said. "That was the best moment of the day, obviously."

The last-place Marlins have outscored the Brewers 24-3 through the first two games of the series. Miami has won seven of nine and 13 of 18 overall.

"I just think we're playing with a little bit of confidence right now. Up and down the order we're getting production," manager Don Mattingly said. "Guys are taking their walks. I just feel like we're keeping the line moving right now and putting the ball in play."

Orlando Arcia had a run-scoring double in the second and Yasmani Grandal connected for a two-run homer in the ninth, but that was it for Milwaukee.

Grandal also tried to score on Arcia's tying double to center, but he was cut down at the plate on a nice relay by shortstop Miguel Rojas. He was originally ruled safe, but the call was overturned by a replay review.

Miami also got a big defensive play in the first when Harold Ramirez robbed Lorenzo Cain of a homer with a  at the wall in right.

The Marlins went ahead to stay in the third. Nelson (0-1) issued a leadoff walk to Alcántara that proved costly. Granderson followed with a single and Garrett Cooper walked before Anderson drove Nelson's next pitch 

Anderson said he could see Nelson was struggling with his breaking ball.

"For me, it was a good chance to look for a fastball, look for something out over the plate to drive," he said. "Even if I don't hit a double or a homer, it's something that goes in the outfield and can get a run in on. (Nelson) left it kind of middle for me and I was able to take advantage of it."

Nelson was charged with five runs, four earned, and four hits in his first big league start since Sept. 8, 2017. He struck out two and walked three.

"We all applaud him for the work he's put in," Brewers manager Craig Counsell said. "He's disappointed with how it went tonight but you have to keep getting back up. He's fought this fight for a long time now. He has to keep getting up, keep getting better and he'll do that."

(© Copyright 2019 CBS Broadcasting Inc. All Rights Reserved. The Associated Press contributed to this report.)

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