91³Ô¹ÏÍø

Watch CBS News

Illinois 2026 governor primary results set up rematch between JB Pritzker, Darren Bailey

The 2026 Illinois primary results for governor have set up a rematch between Gov. JB Pritzker and his 2022 Republican challenger Darren Bailey, after CBS News projects Bailey has won the GOP primary.  

Pritzker, now running with Christian Mitchell after Lt. Gov. Juliana Stratton launched her campaign for Dick Durbin's U.S. Senate seat, was unopposed in the Democratic primary and is now seeking his third term as the governor of Illinois.

Pritzker's national profile has grown as he has been one of President Trump's most vocal critics. He used a campaign ad in March to highlight efforts to oppose the Trump Administration's aggressive federal immigration crackdown in Chicago, known as Operation Midway Blitz, last fall.

He spent some of his victory speech Tuesday night focused on the president.

"Right now, grifters of corruption and selfishness, purveyors of bigotry and hatred, have taken control of the White House and Congress," Pritzker said. "The Carnival Barker in Chief – sorry, the Commander in Thief – says there's no federal money for health care and food assistance for families in need. But they had no trouble finding tens of millions of dollars to send masked troops with assault weapons onto the streets of Illinois to terrorize Americans. They're shooting moms in the face. They shot a nurse in the back who was peacefully protesting. A teacher's assistant was shot five times for honking her horn and yelling. These were all American citizens. And then something remarkable happened – even as other states capitulated to Donald Trump – the seemingly unstoppable force of Trump's unrestrained power met the immovable object of Illinoisans' courage." 

Gov. JB Pritzker speaks after primary as he runs for 3rd governor term 07:40

Bailey, a former Illinois state representative and state senator, joined with Cook County Republican Party Chairman Aaron Del Mar as his running mate this year. A farmer in southern Illinois, Bailey made a name for himself during the COVID-19 pandemic when he unsuccessfully fought state executive orders requiring masks in most public settings.

Bailey easily won the 2022 Republican primary, but went on to lose to Pritzker in the general election by 13 points. In 2024, he challenged U.S. Rep. Mike Bost (R-Illinois) in the Republican primary for his seat and lost. 

Bailey has criticized Pritzker's leadership, including blaming him for rising costs, and saying he's "just another billionaire who has never once felt the pain he's inflicted."  

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