91³Ô¹ÏÍø

Watch CBS News

Adames launches leadoff homer and finishes with 4 hits, Giants defeat Padres

Willy Adames had four hits, including a leadoff homer, and San Francisco ace Logan Webb finished strong in the Giants' 9-3 victory over the San Diego Padres on Tuesday night.

Adames sent for the Padres over the left-field wall to spark a three-run inning with his first home run this season. Adames also doubled and delivered an RBI single that ignited a four-run sixth after San Diego cut it to 4-3.

Matt — a solo shot in the third for a 4-0 lead — before Webb ran into trouble in the bottom half. He walked Fernando Tatis Jr. and Manny Machado with one out. Jackson Merrill and Miguel Andujar had RBI singles sandwiched around a run-scoring groundout by Xander Bogaerts, but that was it for the Padres as they fell to 1-4 before a fifth straight sellout crowd.

giants-padres-2269286588.jpg
Willy Adames #2 of the San Francisco Giants bats during the fourth inning against the San Diego Padres at Petco Park on March 30, 2026 in San Diego. Orlando Ramirez/Getty Images

Webb (1-1) allowed three hits and walked four before retiring his final 10 batters. He threw 104 pitches in six innings. JT Brubaker and José Buttó finished up for the Giants.

Jung Hoo Lee had three of San Francisco's 16 hits, including a two-run double with two outs in the first and an RBI single in the ninth. Heliot Ramos hit a two-run single in the sixth, and Luis Arraez added a sacrifice fly against his former team.

Márquez (0-1), who spent his first 10 seasons with the Rockies, allowed four runs and eight hits in three innings. Kyle Hart was charged with four runs in 2 1/3 innings.

San Diego has just eight extra-base hits this season.

Up next

RHP Adrian Houser makes his first start for the Giants in Wednesday's series finale opposite RHP Nick Pivetta (0-1).

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