CalledUnofficial results
Texas Senate District 31
Texas State Senate · Texas
Kevin Sparks won re-election by 46.3 points over John Betancourt.
Staggered Senate
Kevin SparksRepublican · winner · incumbent
73.1%163,490
John BetancourtDemocrat
26.9%60,021
223,511 votes
Source: Texas Secretary of State unofficial resultsUpdated Nov 7, 2026, 1:22 PM ET
Where the race moved
Against the 2024 presidential vote
The seat's recent races
Source: Past results: 99chambers results archive (MEDSL, Klarner, state election offices)
Money in this race
Each line compares the two campaigns on one scale.
John BetancourtKevin Sparks
$1.8K
Raised by the campaign
$694.8K
$1.5K
Spent by the campaign
$151.5K
$388
Cash on hand
$854.7K
Campaign money: Texas Ethics Commission, through Dec 31, 2025; Texas Ethics Commission, through Oct 24, 2026.
Source: Texas Ethics Commission campaign filingsUpdated Oct 24, 2026
Pre-election forecast (final, Nov 3)
Our model's last run before Election Day, Nov 3, 2026. It no longer updates.
- John Betancourt
- <1%
- Kevin Sparks
- >99%
- Projected margin
- R+52.0