2026 state legislative forecast

Missouri House forecast

Republicans win control of the Missouri House in nearly every one of 2,000 simulations, against a Republican majority today. All 163 seats are on the 2026 ballot; 5 races are within a 35 to 65 split.

Safe RUpdated October 17, 2026Seats 163On the ballot 163Missouri SenateAll chambers
Chance of control
<1%D>99%R
Democratic seats, 80% range
59 to 69
Median 64 ยท 82 for a majority
Favored to flip
12to D0to R
After 2024: 52 D, 111 R
Environment
D +10.9
Shift from the 2024 presidential vote

Missouri House map

District 1: Democrats <1%District 2: Democrats <1%District 3: Democrats <1%District 4: Democrats <1%District 5: Democrats <1%District 6: Democrats <1%District 7: Democrats <1%District 8: Democrats <1%District 9: Democrats <1%District 10: Democrats 7%District 11: Democrats <1%District 12: Democrats 96%District 13: Democrats <1%District 14: Democrats >99%District 15: Democrats >99%District 16: Democrats 82%District 17: Democrats 94%District 18: Democrats >99%District 19: Democrats >99%District 20: Democrats 25%District 21: Democrats 98%District 22: Democrats >99%District 23: Democrats >99%District 24: Democrats >99%District 25: Democrats >99%District 26: Democrats >99%District 27: Democrats >99%District 28: Democrats >99%District 29: Democrats >99%District 30: Democrats 95%District 31: Democrats 58%District 32: Democrats <1%District 33: Democrats 5%District 34: Democrats >99%District 35: Democrats >99%District 36: Democrats >99%District 37: Democrats >99%District 38: Democrats 96%District 39: Democrats <1%District 40: Democrats <1%District 41: Democrats <1%District 42: Democrats <1%District 43: Democrats <1%District 44: Democrats 1%District 45: Democrats >99%District 46: Democrats >99%District 47: Democrats >99%District 48: Democrats <1%District 49: Democrats <1%District 50: Democrats >99%District 51: Democrats <1%District 52: Democrats <1%District 53: Democrats <1%District 54: Democrats <1%District 55: Democrats <1%District 56: Democrats 35%District 57: Democrats <1%District 58: Democrats <1%District 59: Democrats <1%District 60: Democrats <1%District 61: Democrats <1%District 62: Democrats <1%District 63: Democrats <1%District 64: Democrats <1%District 65: Democrats 2%District 66: Democrats >99%District 67: Democrats >99%District 68: Democrats >99%District 69: Democrats 13%District 70: Democrats >99%District 71: Democrats >99%District 72: Democrats >99%District 73: Democrats >99%District 74: Democrats >99%District 75: Democrats >99%District 76: Democrats >99%District 77: Democrats >99%District 78: Democrats >99%District 79: Democrats >99%District 80: Democrats >99%District 81: Democrats >99%District 82: Democrats >99%District 83: Democrats >99%District 84: Democrats >99%District 85: Democrats >99%District 86: Democrats >99%District 87: Democrats >99%District 88: Democrats 21%District 89: Democrats 60%District 90: Democrats >99%District 91: Democrats >99%District 92: Democrats >99%District 93: Democrats >99%District 94: Democrats 68%District 95: Democrats 16%District 96: Democrats 93%District 97: Democrats <1%District 98: Democrats >99%District 99: Democrats >99%District 100: Democrats 97%District 101: Democrats 88%District 102: Democrats <1%District 103: Democrats 11%District 104: Democrats 49%District 105: Democrats 70%District 106: Democrats 38%District 107: Democrats 2%District 108: Democrats 2%District 109: Democrats <1%District 110: Democrats 3%District 111: Democrats <1%District 112: Democrats <1%District 113: Democrats <1%District 114: Democrats <1%District 115: Democrats <1%District 116: Democrats <1%District 117: Democrats <1%District 118: Democrats <1%District 119: Democrats <1%District 120: Democrats <1%District 121: Democrats <1%District 122: Democrats <1%District 123: Democrats <1%District 124: Democrats <1%District 125: Democrats <1%District 126: Democrats <1%District 127: Democrats <1%District 128: Democrats <1%District 129: Democrats <1%District 130: Democrats <1%District 131: Democrats <1%District 132: Democrats 98%District 133: Democrats 67%District 134: Democrats <1%District 135: Democrats >99%District 136: Democrats 96%District 137: Democrats <1%District 138: Democrats <1%District 139: Democrats <1%District 140: Democrats <1%District 141: Democrats <1%District 142: Democrats <1%District 143: Democrats <1%District 144: Democrats <1%District 145: Democrats <1%District 146: Democrats <1%District 147: Democrats <1%District 148: Democrats <1%District 149: Democrats <1%District 150: Democrats <1%District 151: Democrats <1%District 152: Democrats <1%District 153: Democrats <1%District 154: Democrats <1%District 155: Democrats <1%District 156: Democrats <1%District 157: Democrats <1%District 158: Democrats <1%District 159: Democrats <1%District 160: Democrats <1%District 161: Democrats <1%District 162: Democrats <1%District 163: Democrats <1%12345678911404142434849515253545657586162108109116118120121122123124125126127128129137138139141142143144145146148149150151152153154155156157158159160162
Safe DLean DToss upLean RSafe R

District shapes are estimated from where each district's voters live in the precinct returns, not drawn from the official boundary files.

Pick a district

Hover the map for the odds in any district. Click one to pin it here and find it in the table below.

Every seat

Average 64 D to 99 R
District 15: Democrats win >99%District 18: Democrats win >99%District 19: Democrats win >99%District 22: Democrats win >99%District 23: Democrats win >99%District 24: Democrats win >99%District 25: Democrats win >99%District 26: Democrats win >99%District 27: Democrats win >99%District 28: Democrats win >99%District 35: Democrats win >99%District 36: Democrats win >99%District 37: Democrats win >99%District 45: Democrats win >99%District 46: Democrats win >99%District 47: Democrats win >99%District 50: Democrats win >99%District 66: Democrats win >99%District 67: Democrats win >99%District 68: Democrats win >99%District 70: Democrats win >99%District 71: Democrats win >99%District 72: Democrats win >99%District 73: Democrats win >99%District 74: Democrats win >99%District 75: Democrats win >99%District 76: Democrats win >99%District 77: Democrats win >99%District 78: Democrats win >99%District 79: Democrats win >99%District 80: Democrats win >99%District 81: Democrats win >99%District 82: Democrats win >99%District 83: Democrats win >99%District 84: Democrats win >99%District 85: Democrats win >99%District 86: Democrats win >99%District 87: Democrats win >99%District 90: Democrats win >99%District 91: Democrats win >99%District 93: Democrats win >99%District 99: Democrats win >99%District 29: Democrats win >99%District 92: Democrats win >99%District 14: Democrats win >99%District 98: Democrats win >99%District 135: Democrats win >99%District 34: Democrats win >99%District 132: Democrats win 98%District 21: Democrats win 98%District 100: Democrats win 97%District 38: Democrats win 96%District 136: Democrats win 96%District 12: Democrats win 96%District 30: Democrats win 95%District 17: Democrats win 94%District 96: Democrats win 93%District 101: Democrats win 88%District 16: Democrats win 82%District 105: Democrats win 70%District 94: Democrats win 68%District 133: Democrats win 67%District 89: Democrats win 60%District 31: Democrats win 58%District 104: Democrats win 49%District 106: Democrats win 38%District 56: Democrats win 35%District 20: Democrats win 25%District 88: Democrats win 21%District 95: Democrats win 16%District 69: Democrats win 13%District 103: Democrats win 11%District 10: Democrats win 7%District 33: Democrats win 5%District 110: Democrats win 3%District 107: Democrats win 2%District 65: Democrats win 2%District 108: Democrats win 2%District 44: Democrats win 1%District 11: Democrats win <1%District 39: Democrats win <1%District 60: Democrats win <1%District 97: Democrats win <1%District 147: Democrats win <1%District 134: Democrats win <1%District 113: Democrats win <1%District 1: Democrats win <1%District 2: Democrats win <1%District 3: Democrats win <1%District 4: Democrats win <1%District 5: Democrats win <1%District 6: Democrats win <1%District 7: Democrats win <1%District 8: Democrats win <1%District 9: Democrats win <1%District 13: Democrats win <1%District 32: Democrats win <1%District 40: Democrats win <1%District 41: Democrats win <1%District 42: Democrats win <1%District 43: Democrats win <1%District 48: Democrats win <1%District 49: Democrats win <1%District 51: Democrats win <1%District 52: Democrats win <1%District 53: Democrats win <1%District 54: Democrats win <1%District 55: Democrats win <1%District 57: Democrats win <1%District 58: Democrats win <1%District 59: Democrats win <1%District 61: Democrats win <1%District 62: Democrats win <1%District 63: Democrats win <1%District 64: Democrats win <1%District 102: Democrats win <1%District 109: Democrats win <1%District 111: Democrats win <1%District 112: Democrats win <1%District 114: Democrats win <1%District 115: Democrats win <1%District 116: Democrats win <1%District 117: Democrats win <1%District 118: Democrats win <1%District 119: Democrats win <1%District 120: Democrats win <1%District 121: Democrats win <1%District 122: Democrats win <1%District 123: Democrats win <1%District 124: Democrats win <1%District 125: Democrats win <1%District 126: Democrats win <1%District 127: Democrats win <1%District 128: Democrats win <1%District 129: Democrats win <1%District 130: Democrats win <1%District 131: Democrats win <1%District 137: Democrats win <1%District 138: Democrats win <1%District 139: Democrats win <1%District 140: Democrats win <1%District 141: Democrats win <1%District 142: Democrats win <1%District 143: Democrats win <1%District 144: Democrats win <1%District 145: Democrats win <1%District 146: Democrats win <1%District 148: Democrats win <1%District 149: Democrats win <1%District 150: Democrats win <1%District 151: Democrats win <1%District 152: Democrats win <1%District 153: Democrats win <1%District 154: Democrats win <1%District 155: Democrats win <1%District 156: Democrats win <1%District 157: Democrats win <1%District 158: Democrats win <1%District 159: Democrats win <1%District 160: Democrats win <1%District 161: Democrats win <1%District 162: Democrats win <1%District 163: Democrats win <1%
Safe DLean DToss upLean RSafe R
Democratic seats across 2,000 simulations
82 for a majority486578

Every House district

DistrictLast winner2026 nominees2024 leanForecastDem winRating
104Terri Violet 2024Tara Murray vs Terri VioletR +9.8D +0.049%Toss up
31Ron Fowler 2024Justin Geiser vs Ron FowlerR +11.6D +1.558%Toss up
106Travis Wilson 2024Jewel Kelly vs Travis WilsonR +8.1R +1.938%Toss up
89George Hruza 2024Bryan Troop vs George HruzaR +2.4D +1.960%Toss up
56Michael Davis 2024Staci Czar vs Steve BakerR +20.6R +2.435%Lean R
133Melanie Stinnett 2024Katelyn Zach vs Jerry AngeloR +8.4D +3.067%Lean D
94Jim Murphy 2024Cathy A Summers vs Maryellen MurphyR +6.7D +3.368%Lean D
105Colin Wellenkamp 2024Cat Clayton vs Colin WellenkampR +4.0D +4.070%Lean D
20Mike Steinmeyer 2024Jeff Spicer vs Mike SteinmeyerR +18.3R +4.325%Lean R
88Holly Jones 2024Jennifer Trickey vs Holly JonesR +15.8R +5.721%Lean R
16Chris Brown 2024Dan Kinate vs Chris BrownD +0.1D +5.882%Lean D
95Michael A O'Donnell 2024Meredith Sumenek vs Bob MahacekR +15.1R +6.316%Likely R
69Scott A Miller 2024Chris Chapman vs Scott MillerR +15.8R +7.313%Likely R
101Ben Keathley 2024Paul Lentz vs Ben KeathleyD +3.6D +8.088%Likely D
103Dave Hinman 2024Don Crozier vs Dave HinmanR +24.0R +8.011%Likely R
10Bill Falkner 2024LaTonya T. Williams vs Paul GatewoodR +17.6R +9.47%Likely R
96Brad Christ 2024Matt Vitale vs Brad ChristD +5.2D +10.093%Likely D
30Jon Patterson 2024Kevin Grover vs Jeff MartinD +5.9D +10.495%Likely D
17Bill Allen 2024Susan Hoisington vs Bill AllenR +0.4D +10.594%Likely D
33Carolyn S Caton 2024Troy Latterell vs Carolyn CatonR +24.2R +10.85%Likely R
110Justin Sparks 2024Claire Heinrich vs Niles StephR +18.0R +11.43%Likely R
12Mike Jones 2024Tracey Steele vs Jerry HickeyD +0.9D +11.596%Likely D
38Martin Jacobs 2024Martin (Marty) Jacobs vs Mary HillR +4.7D +11.996%Likely D
How this is built
Each district starts from its 2024 presidential vote, read off the precincts that voted in it, and moves with the state's 2026 House forecast and the national generic ballot. Half of what the last legislative winner ran ahead of the district carries over, 2026 primary turnout moves districts where it is posted, and district and statewide legislative polls count by recency and sample. A seat with no candidate from one party is called for the other. 2,000 simulations share a national, a state and a district shock. The map's district shapes are estimated from where each district's voters are in the precinct returns. All chambers.