91³Ô¹ÏÍø

Watch CBS News

Ian Happ homers, Michael Busch drives in 2 as Cubs top Blue Jays 3-2

Ian Happ homered in the first inning and Michael Busch added a two-run triple as the Chicago Cubs beat the Toronto Blue Jays 3-2 on Saturday.

Dansby Swanson added two hits for the Cubs, who won their second straight after losing three consecutive games to the American League Central-leading Cleveland Guardians.

Nate Pearson (2-1), one of seven pitchers for the Cubs, allowed a hit in two scoreless innings and earned the victory. Jorge López allowed a homer in the ninth before striking out George Springer, Daulton Varsho and Vladimir Guerrero Jr. for his third save in three opportunities.

Addison Barger hit his third home run of the season and Varsho added a pair of hits and an RBI for the Blue Jays, who had won five of their last eight games.

Chris Bassitt (9-12) gave up five hits and three runs in five innings, with five strikeouts and two walks for Toronto.

The game was delayed twice in the second inning — for 39 and 16 minutes — limiting starter Justin Steele to two hitless innings for the Cubs.

Happ hit his 22nd homer of the season on Bassitt's first pitch in the bottom of the first. It was Happ's second homer in as many games and his seventh career leadoff homer.

Busch hit a two-run triple in the fifth inning that extended the Cubs' lead to 3-0 after Pete Crow-Armstrong reached on a bunt single and Miguel Amayas on a fielder's choice. Busch's hit appeared to deflect off center fielder Varsho's glove as he leaped at the wall.

Varsho's bunt single off Drew Smyly cut Toronto's deficit to 3-1 in the seventh after Steward Berrora and Springer singled.

The Blue Jays left the bases loaded in the fourth. Pearson, who was traded from Toronto on July 27, allowed a double to Guerrero and issued two walks before striking out Davis Schneider and getting Berroa to fly out.

TRAINER'S ROOM

Blue Jays: SS Leo Jiménez (right knee soreness) left the game in the second inning.

UP NEXT

RHP Bowden Francis (5-3, 4.92 ERA) starts for the Blue Jays against Cubs' LHP Shota Imanaga (9-2, 3.16) in the series finale.

___

AP MLB: https://apnews.com/hub/mlb

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