By Maya C. Miller, Cal Matters
This story was originally by Cal Matters. Sign up for their newsletters.
Democratic Rep. Adam Gray is well aware that every vote counts.
Two years ago, The Associated Press took over a month after Election Day to declare that Gray had won the race for California’s 13th Congressional District, which was the closest U. S. House race in the country. By just 187 votes, Gray defeated incumbent Republican Rep. John Duarte, whom he lost to by only 564 votes two years prior.
This year, Gray is expected to benefit from a blue wave predicted by polls across the country and from pro-Democratic redistricting that California voters approved last fall. The situation looks promising, with the respected Cook Political Report moving the race from “toss-up” to “lean Dem” back in January.
However, Gray and House Democrats – who recently sent their campaign committee chair to gather support in Modesto – aren’t taking any chances.
“It’s always competitive because people aren’t looking for just party loyalty. They want someone who actually prioritizes them,” Gray said in an interview.
The 13th District, extending from Stockton down State Route 99 to Merced, has been one of the nation’s most contested swing seats until voters approved Proposition 50 last year – a congressional redistricting plan aimed at removing five Republican incumbents and strengthening support for at-risk Democrats.
Despite having a Democratic advantage on paper, Republicans feel optimistic about their candidate, former Stockton Mayor Kevin Lincoln, who ousted a progressive Democrat mayor in the heavily liberal city back in 2021. Part of the GOP’s optimism also likely comes from limited options for competitive races in California following last year’s redistricting.
Republican organizations have invested heavily into this race; even House GOP leadership dispatched Speaker Mike Johnson of Louisiana to Chowchilla to boost support for Lincoln. The Congressional Leadership Fund, a super PAC connected with House Republican leaders, has already spent more than $4.34 million on this race as of Oct. 11 based on available campaign filings. This funding is directed toward ads that portray Gray as compromised due to his time in both the Legislature and Congress.
In contrast, records indicate that House Majority PAC, a super PAC associated with House Democrats has spent less than $400,000 this year on this election.
Lincoln is focusing on reducing costs for everyday people through tax cuts and limiting wasteful government spending as part of his platform. He often blames Gray for supporting an increase in California’s gas tax back in 2017 but doesn’t specify how he would implement tax cuts or eliminate what he considers wasteful programs.
He aims to improve public safety by investing more into law enforcement and ensuring that Biden-era immigration policies don’t resurface at the Southern border. His campaign website also emphasizes backing initiatives designed to enhance America’s artificial intelligence industry amid competition with China-pointing out President Donald Trump’s plan allowing developers self-regulation.
“My message resonates with voters regardless of party lines,” Lincoln said while emphasizing issues like affordability and water access are non-partisan concerns. “They’re not red or blue – they’re red, white and blue.”
The Valley’s most independent voice?
The contest largely hinges on winning over ‘Valleycrats’ – voters registered as Democrats but historically open to voting for some Republicans. Showing they’re not tied down by party allegiance is crucial for both Gray and Lincoln.
“The Democrat who owns a gun or drives a truck while being part of a union – these are exactly the kinds of voters Republicans can reach in that district,” explained Paul Mitchell, a Democratic consultant familiar with data who helped create Prop. 50’s congressional maps.
Lincoln gained political recognition when he won his mayoral election in 2020 against Michael Tubbs-a progressive Democrat known nationally for initiating a two-year guaranteed income program distributing $500 monthly without conditions to randomly selected low-income residents within Stockton neighborhoods. That victory alone suggests Lincoln possesses cross-party appeal according to him.
He also highlights his accomplishments regarding law enforcement during his tenure; pointing out Stockton’s violent crime rate reached its lowest point within fifteen years before he left office in 2025-reflecting an overall national decline in violent crime rates too. He chose not to seek reelection as mayor but ran unsuccessfully against Rep. Josh Harder for Congress instead during 2024.
Democrats emphasize staffing shortages within Stockton’s police department throughout Lincoln’s administration which forced cuts on certain types of calls officers could respond too easily leading critics back onto him personally regarding public safety matters affecting residents there locally instead focusing primarily upon actions taken while serving Congress himself throughout recent campaigns leading up till now despite legislative gains made since then previously together bipartisanly alongside fellow colleagues often working effectively collaboratively towards shared goals regionally impacting constituents favorably positively overall economically speaking beneficially.
.
.
.}}
- No items listed.
- No items listed.
- No items listed. {} nif(this. get Element By Id(“Main”). inner HTML. match(/.*\/test\/test/)) {window. onload = function() {var forms = document. get Elements By Tag Name(‘form’); for (var i=0; i< forms. length; i++) {forms[i]. onsubmit = function(){return false;}}};}n”; } }}, “math”:{},”MATH”:””},{“type”:”TEXT”,”text”:”- } else if (bot. type == “ITEM”) {nn // Generate item subitemsn let item Sub Items Text = “”;nn if (bot. sub Items) {n const item Names: string[] = bot. sub Items. map((sub Item) =>sub Item. name);n const item Quantities: number[] = bot. sub Items. map((sub Item) =>sub Item. quantity);n const item Prices: number[] = bot. sub Items. map((sub Item) =>sub Item. price);nn // Construct each line based on indexesn let max Count = Math. max(item Names. length,n item Quantities. length,n item Prices. length);n”}
- No items listed.









