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
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

EvenR+62.12024 Pres.R+46.32026 Senate

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
How the forecast works →