91³Ô¹ÏÍø

Watch CBS News

Large blast at Valero oil refinery in Texas sends smoke, flames into the air

A large explosion at a Valero oil refinery in Port Arthur, near the Texas Gulf coast, shot plumes of smoke into the air and forced some nearby residents to shelter in place on Monday.

Port Arthur Mayor Charlotte Moses told CBS News there were no fatalities or injuries and said "Valero is working diligently to contain the fire." As of late Monday, there were no air quality issues, she said.

Still, she urged residents in parts of the west side of the city to say put.

Refinery Fire Texas
In this still image taken from a video provided by KBMT, smoke rises near the Valero Port Arthur Refinery in Port Arthur, Texas on March 23, 2026.  KBMT via AP

The Texas Commission on Environmental Quality said on social media that "emergency response coordinators and regional staff have been deployed with handheld and mobile air monitoring assets" to the refinery.

a message sent out over the Southeast Texas Alerting Network in reporting that the shelter-in-place was lifted and an area highway reopened just after 5:30 a.m. Tuesday, nearly 12 hours after the explosion.

Refinery spokesperson Carol Herbert told CBS News, "All personnel have been accounted for. Valero's emergency response team is responding and coordinating with local authorities. ... As always, the safety of our workers is our top priority."  

The explosion comes amid a spike in gas prices driven by uncertainty over the global oil supply because of the Iran war.

The refinery has about 770 employees and can process about 435,000 barrels of oil per day, according to Valero's website. The plant refines heavy sour crude oil into gasoline, diesel and jet fuel.

Images and video posted online show a large plume of smoke and flames billowing out from the refinery. Some residents reported hearing a loud boom and seeing their windows shake.

A security camera at a home in nearby Nederland, Texas .

"For your safety please remain in place until the 'All Clear' is given by emergency personnel," the City of Port Arthur said in a post on its Facebook page.

Valero didn't respond to an email or call from The Associated Press seeking comment.

Texas state Rep. Christian Manuel said in a post on social media that the Texas Commission on Environmental Quality had arrived at the refinery with air monitoring equipment and was working with local and state partners.

He told nearby residents to stay inside.

"Please limit outdoor activity, keep windows and doors closed, and follow guidance from local officials," he said.

Port Arthur is about 90 miles east of Houston.  

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