91³Ô¹ÏÍø

Watch CBS News

Choupo-Moting, Forsberg both score twice in second half to rally Red Bulls past Revolution 5-3

Eric Maxim Choupo-Moting and Emil Forsberg both had two of New York's five unanswered goals in the second half and the Red Bulls rallied to beat the New England Revolution 5-3 on Wednesday night.

Leo Campana notched his fifth goal of the season five minutes into the match, scoring unassisted to give New England (6-9-7) the lead. Luca Langoni hit the left post, but the shot bounced off Red Bulls defender Omar Valencia and into the net for an own goal and a 2-0 lead in the 30th minute that carried through halftime.

The Red Bulls (9-8-6) cut it to 2-1 when 22-year-old midfielder Daniel Edelman scored his first goal this season and his third in 87 career appearances — unassisted in the 56th minute. Edelman ignited the second five-goal half in Red Bulls history.

Choupo-Moting scored the equalizer in the 70th minute with assists from Forsberg and 20-year midfielder Ronald Donkor. Forsberg made it 3-2 in the 72nd with an assist from 21-year-old forward Dennis Gjengaar — his first this season.

Choupo-Moting — in his first season in the league — added his 13th goal in the 83rd minute on another assist from Donkor, who has three this season. Forsberg used a penalty kick to score his ninth goal of the season for a 5-2 lead in the 88th.

Campana capped the scoring in the third minute of stoppage time with his sixth goal.

Carlos Coronel finished with five saves for the Red Bulls.

Aljaz Ivacic stopped four shots for the Revolution.

New England beat the visiting Red Bulls 2-1 in March behind two goals from Carles Gil.

The Red Bulls had played four of their last five matches on the road and gone 0-2-3 before extending their unbeaten streak at home to six.

New England has gone 0-5-2 since the start of June.

The Revolution return home to play Orlando City on Saturday. The Red Bulls will host Inter Miami on Saturday.

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