91³Ô¹ÏÍø

Watch CBS News

Historic crime drop in Baltimore City continues

Baltimore is still seeing historically low violent crime numbers in August, according to Mayor Brandon Scott. 

As of September 1, the city recorded 91 homicides and 218 nonfatal shootings so far in 2025. This is the fewest homicides that Baltimore has seen during the first eight months of the year in over 50 years, according to data shared by the mayor. 

The city has recorded reductions in violent crime for the past two years and is currently seeing its safest period in more than 50 years. 

Mayor Scott attributed the decline to the city's Group Violence Reduction Strategy (GVRS) — a partnership between prosecutors, city officials and law enforcement —  and an evidence-based approach to public safety. 

According to the mayor, the GVRS initiative led to more than 519 arrests and connected nearly 278 people to life coaching services and other resources since it launched in 2022. 

"We are all in this together. Only together can we continue to build on and sustain these achievements," Scott said in a statement. 

Violent crime in Baltimore 

The latest data shows a 29.5% drop in homicides and a 21% drop in nonfatal shootings compared to this time in 2024, according to the mayor's office. 

In August, the city recorded seven homicides, the lowest recorded total for the month, which is historically one of the deadliest of the year, data shows. 

In July, shows 16 homicides. In June, 13 cases were reported, and 16 cases were reported in May. 

In April, the city reported its lowest number of monthly homicides in history with just five cases, the mayor's office said. 

The city recorded 13 homicides in April 2024, representing a 61.5% drop in one year. 

Crime is also down in other categories, according to the mayor's office. As of August 23, auto thefts are down nearly 32%, robberies are down nearly 26% and carjackings are down nearly 21% compared to 2024. 

Trump on Baltimore Crime 

The latest numbers come after President Trump described the city as "so far gone" on crime in August, eliciting a response from Mayor Scott, who highlighted the historic crime reductions. 

Mr. Trump made the comments about Baltimore when he announced the deployment of the National Guard to Washington, D.C., as part of a crackdown on crime. 

"This is the latest effort by the president to distract from the issues he should be focused on — including the roller coaster of the U.S. economy thanks to his policies," the mayor said in a statement. "When it comes to public safety in Baltimore, he should turn off the right-wing propaganda and look at the facts. Baltimore is the safest it's been in over 50 years."

The president also referred to Chicago, Los Angeles, New York, Baltimore and Oakland as cities facing serious crime, and has since threatened to deploy the National Guard to Chicago.

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