RepublicanNo state or federal office heldWon the 2026 general
John Wetzel
Won the 2026 race for Michigan Senate District 31.
Every race Wetzel has run
Baseline: how the seat voted for president in the same or nearest year. Running ahead of it means Wetzel won voters the party’s presidential nominee did not; primaries have no baseline.
| Year | Office | Stage | Result | Opponents | Share | Margin | Baseline | Against baseline |
|---|---|---|---|---|---|---|---|---|
| 2026 | Michigan Senate District 31 | General | Won | Chris Kleinjans (D) | — | — | R+18.8 |
Source: 99chambers results archive; 2026: civicAPI (unofficial)Updated Nov 8, 2026, 7:01 PM ET
Who Wetzel has run against
- Chris Kleinjans (D) · 2026 general, won
Source: 99chambers results archive; 2026: civicAPI (unofficial)
The seat
- Michigan Senate District 31 · lean R+19.1 · 27th most Democratic of 38
Source: 99chambers: presidential results on current lines (MEDSL precinct returns)