Pima County officially finished counting ballots on Monday for the July 21 primary elections that determined who will appear on the ballot in November.
In some legislative races, no Republicans qualified for the primary ballot, and with Democrats holding a substantial registration advantage in several of these districts, the primary was likely the decisive contest in the blue region.
In one Tucson-area race for the Arizona House, Democratic Socialist candidate Miranda Lopez unseated incumbent Democratic Rep. Stephanie Stahl-Hamilton by 71 votes, just above the state’s automatic recount threshold.
LD 21 House candidate Stephanie Stahl-Hamilton, left, looks at some of the early returns at a watch party on primary election day, July 21. Stahl-Hamilton, an incumbent, lost her close race in the Democratic primary to Miranda Lopez in the end.
Here’s where Southern Arizona’s legislative races stand.
District 18
LD18 covers the Catalina Foothills and much of northeastern Tucson.
People are also reading…
In the state House race, incumbent Democrats Nancy Gutierrez and Chris Mathis ran unopposed. They will face Republican candidate Bob Dohse in November, who ran uncontested in his primary.
For state Senate, two-term Democratic Sen. Priya Sundareshan ran uncontested and will face Republican Douglas Everett, who was also uncontested in his primary.
District 19
LD19 covers the southeastern corner of the state and Green Valley, Sierra Vista and Douglas.
In the House Republican primary, three candidates ran for a chance at two slots on the November ballot. The first will go to current state Sen. David Gowan, who received 41%. Lupe Diaz took an early lead for the second slot, but eventually fell to a slim 98 votes behind Cheryl Caswell. The 98-vote margin represents 1.1% of the 8,880 votes cast for the two candidates, which is above the 0.5% threshold for an automatic recount. Gowan and Caswell will face Democrats Jackie O'Donnell Anderson and Aiden Nicholette Swallow in November, who ran unopposed in the Democratic primary.
For the state Senate, no Democrats qualified for the November ballot, while current House Rep. Gail Griffin ran uncontested in the Republican primary, leaving her an easy path.
A voter enters the Mount Olive Luther Church polling center during primary election day in Tucson on July 21.
District 20
LD20 covers much of the central and southwest portions of Tucson, including the downtown area and the University of Arizona.
For the state House, current state Sen. Sally Ann Gonzales received 33% of the vote, while Betty Villegas received 32%. No Republicans qualified for the primary ballot in the district, meaning Gonzales and Villegas will likely run unopposed in the general election. This would be Villegas' second election to the House. Gonzales ran for the House seat after reaching her term limit in the state Senate.
For the state Senate, current Arizona House member Alma Hernandez received 51% of the votes in the Democratic primary over Rocque Perez with 49% after all votes were counted. LD20 was anticipated to be a closely-watched race between the more moderate Hernandez and the progressive Perez. Her lead over Perez shortened from earlier vote totals, bringing the margin to just 602 votes between them.
District 21
LD21 covers parts of central and South Tucson and extends to cover a portion of the Arizona-Mexico border area, including Nogales and Bisbee.
For the state House, incumbent Consuelo Hernandez won the first of two Democratic slots on the November ballot with 29% of the votes. Miranda Lopez unseated incumbent Stephanie Stahl Hamilton by 71 votes to take the second slot; Stahl Hamilton has served terms in the House and Senate since 2021. The two candidates remained separated by handfuls of votes as new batches of ballots were counted throughout the last week. The 71-vote margin represents 0.57% of the total ballots cast between them, narrowly above Arizona’s 0.5% threshold for an automatic recount.
Stahl Hamilton conceded the race on social media on July 27 and congratulated Lopez and Hernandez.
“While the outcome was not what we wanted or expected, I am truly humbled by the many who put their trust in me as a candidate and as a legislator,” she wrote.
Lopez, a Democratic Socialist candidate and former executive director of the Pima County Democratic Party, declared an early victory as votes were still being counted last week.
“We’re now one step closer to sending the first ever DSA member to the AZ Legislature,” she wrote in an Instagram post.
Lopez was part of a fundraising effort called “No Safe Seats,” a coalition of progressives that challenged five incumbent lawmakers across the state, including Consuelo Hernandez and her sister Alma Hernandez, who ran against Rocque Perez for the Democrats' state Senate nomination.
For the state Senate, incumbent Democrat Rosanna Gabaldón ran unopposed in the primary. In November, she will face Republican Esteban Flores, who also ran unopposed in the primary.
Turnout
In Pima County, a total of 186,616 ballots were cast in the primary elections, bringing total voter turnout to just under 29%.
This was slightly higher than the statewide turnout of 27%.
Election results are still considered unofficial until the official canvass. The Pima County Board of Supervisors is scheduled to canvass the official results on Aug 3, before sending them to the Secretary of State’s Office for the statewide canvass.

