Skip to content

Sturt: preference flows

SA · how preferences were distributed at the 2025, 2022, 2019 Federal elections

202520222019
Results by election
ElectionElectedRunner-upFinal marginCountsWon
2025Claire CLUTTERHAMAustralian Labor PartyJames STEVENSLiberal15,5155Majority at count 5
2022James STEVENSLiberalSonja BARAMAustralian Labor Party1,0169Majority at count 9
2019James STEVENSLiberalCressida O'HANLONAustralian Labor Party15,0766First preferences

2025 Federal election

Claire CLUTTERHAM (Australian Labor Party) won Sturt in 2025 with 66,326 of the 117,137 votes in the final count, beating James STEVENS (Liberal) by 15,515 votes (56.6% to 43.4%). Clutterham led on first preferences with 35.3% of 117,137 formal votes and passed the 58,569-vote majority at count 5.

117,137 formal votes7 candidates5 counts15,515-vote final margin

Sturt 2025: preference flowsSankey diagram of the distribution of preferences in Sturt at the 2025 Federal election. Claire CLUTTERHAM was elected after 5 counts, 66,326 votes to 50,811 for James STEVENS. The table below gives every figure.First prefsCount 1Count 2Count 3Count 4Count 5Claire CLUTTERHAM: 41,333 votes stay with themJames STEVENS: 40,228 votes stay with themKatie McCUSKER: 18,295 votes stay with themVerity COOPER: 8,413 votes stay with themPeter BOGATEC: 4,035 votes stay with themNicholas DUFFIELD: 2,553 votes stay with them670 votes from MERVIN JOSHUA (excluded) go to Peter BOGATEC534 votes from MERVIN JOSHUA (excluded) go to James STEVENS333 votes from MERVIN JOSHUA (excluded) go to Claire CLUTTERHAM329 votes from MERVIN JOSHUA (excluded) go to Verity COOPER253 votes from MERVIN JOSHUA (excluded) go to Nicholas DUFFIELD161 votes from MERVIN JOSHUA (excluded) go to Katie McCUSKERClaire CLUTTERHAM: 41,666 votes stay with themJames STEVENS: 40,762 votes stay with themKatie McCUSKER: 18,456 votes stay with themVerity COOPER: 8,742 votes stay with themPeter BOGATEC: 4,705 votes stay with them1,316 votes from Nicholas DUFFIELD (excluded) go to Peter BOGATEC507 votes from Nicholas DUFFIELD (excluded) go to Verity COOPER452 votes from Nicholas DUFFIELD (excluded) go to James STEVENS315 votes from Nicholas DUFFIELD (excluded) go to Katie McCUSKER216 votes from Nicholas DUFFIELD (excluded) go to Claire CLUTTERHAMClaire CLUTTERHAM: 41,882 votes stay with themJames STEVENS: 41,214 votes stay with themKatie McCUSKER: 18,771 votes stay with themVerity COOPER: 9,249 votes stay with them3,119 votes from Peter BOGATEC (excluded) go to James STEVENS1,839 votes from Peter BOGATEC (excluded) go to Verity COOPER556 votes from Peter BOGATEC (excluded) go to Katie McCUSKER507 votes from Peter BOGATEC (excluded) go to Claire CLUTTERHAMClaire CLUTTERHAM: 42,389 votes stay with themJames STEVENS: 44,333 votes stay with themKatie McCUSKER: 19,327 votes stay with them4,567 votes from Verity COOPER (excluded) go to Katie McCUSKER3,485 votes from Verity COOPER (excluded) go to Claire CLUTTERHAM3,036 votes from Verity COOPER (excluded) go to James STEVENSClaire CLUTTERHAM: 45,874 votes stay with themJames STEVENS: 47,369 votes stay with them20,452 votes from Katie McCUSKER (excluded) go to Claire CLUTTERHAM3,442 votes from Katie McCUSKER (excluded) go to James STEVENSClaire CLUTTERHAM (ALP): 41,333 votes at first preferencesCLUTTERHAMJames STEVENS (LP): 40,228 votes at first preferencesSTEVENSKatie McCUSKER (GRN): 18,295 votes at first preferencesMcCUSKERVerity COOPER (IND): 8,413 votes at first preferencesCOOPERPeter BOGATEC (ON): 4,035 votes at first preferencesNicholas DUFFIELD (CYA): 2,553 votes at first preferencesMERVIN JOSHUA (FFPA): 2,280 votes at first preferencesClaire CLUTTERHAM (ALP): 41,666 votes at count 1CLUTTERHAMJames STEVENS (LP): 40,762 votes at count 1STEVENSKatie McCUSKER (GRN): 18,456 votes at count 1McCUSKERVerity COOPER (IND): 8,742 votes at count 1COOPERPeter BOGATEC (ON): 4,705 votes at count 1BOGATECNicholas DUFFIELD (CYA): 2,806 votes at count 1Claire CLUTTERHAM (ALP): 41,882 votes at count 2CLUTTERHAMJames STEVENS (LP): 41,214 votes at count 2STEVENSKatie McCUSKER (GRN): 18,771 votes at count 2McCUSKERVerity COOPER (IND): 9,249 votes at count 2COOPERPeter BOGATEC (ON): 6,021 votes at count 2BOGATECClaire CLUTTERHAM (ALP): 42,389 votes at count 3CLUTTERHAMJames STEVENS (LP): 44,333 votes at count 3STEVENSKatie McCUSKER (GRN): 19,327 votes at count 3McCUSKERVerity COOPER (IND): 11,088 votes at count 3COOPERClaire CLUTTERHAM (ALP): 45,874 votes at count 4CLUTTERHAMJames STEVENS (LP): 47,369 votes at count 4STEVENSKatie McCUSKER (GRN): 23,894 votes at count 4McCUSKERClaire CLUTTERHAM (ALP): 66,326 votes at count 5CLUTTERHAM · electedJames STEVENS (LP): 50,811 votes at count 5STEVENS · runner-up
Each column is a count. Bar height = votes held; the candidate with the fewest votes is excluded and their votes flow to the others. Hover or tap a candidate to highlight their flows.

What happened, count by count

Where the preferences went

Sturt 2025: where each excluded candidate’s votes went
CountExcludedVotes distributedPassed to
1MERVIN JOSHUAFamily First2,280
  • Peter BOGATEC (ON): 670 (29.4%)
  • James STEVENS (LP): 534 (23.4%)
  • Claire CLUTTERHAM (ALP): 333 (14.6%)
  • Verity COOPER (IND): 329 (14.4%)
  • Nicholas DUFFIELD (CYA): 253 (11.1%)
  • Katie McCUSKER (GRN): 161 (7.1%)
2Nicholas DUFFIELDTrumpet of Patriots2,806
  • Peter BOGATEC (ON): 1,316 (46.9%)
  • Verity COOPER (IND): 507 (18.1%)
  • James STEVENS (LP): 452 (16.1%)
  • Katie McCUSKER (GRN): 315 (11.2%)
  • Claire CLUTTERHAM (ALP): 216 (7.7%)
3Peter BOGATECPauline Hanson's One Nation6,021
  • James STEVENS (LP): 3,119 (51.8%)
  • Verity COOPER (IND): 1,839 (30.5%)
  • Katie McCUSKER (GRN): 556 (9.2%)
  • Claire CLUTTERHAM (ALP): 507 (8.4%)
4Verity COOPERIndependent11,088
  • Katie McCUSKER (GRN): 4,567 (41.2%)
  • Claire CLUTTERHAM (ALP): 3,485 (31.4%)
  • James STEVENS (LP): 3,036 (27.4%)
5Katie McCUSKERThe Greens23,894
  • Claire CLUTTERHAM (ALP): 20,452 (85.6%)
  • James STEVENS (LP): 3,442 (14.4%)

Votes after every count

Sturt 2025: votes held by each candidate after every count (– = excluded)
CandidateFirst prefsCount 1Count 2Count 3Count 4Count 5
Claire CLUTTERHAMAustralian Labor Party · elected41,33341,66641,88242,38945,87466,326
James STEVENSLiberal40,22840,76241,21444,33347,36950,811
Katie McCUSKERThe Greens18,29518,45618,77119,32723,894–
Verity COOPERIndependent8,4138,7429,24911,088––
Peter BOGATECPauline Hanson's One Nation4,0354,7056,021–––
Nicholas DUFFIELDTrumpet of Patriots2,5532,806––––
MERVIN JOSHUAFamily First2,280–––––

2022 Federal election

James STEVENS (Liberal) won Sturt in 2022 with 56,813 of the 112,610 votes in the final count, beating Sonja BARAM (Australian Labor Party) by 1,016 votes (50.5% to 49.5%). Stevens led on first preferences with 43.1% of 112,610 formal votes and passed the 56,306-vote majority at count 9.

112,610 formal votes11 candidates9 counts1,016-vote final margin

Sturt 2022: preference flowsSankey diagram of the distribution of preferences in Sturt at the 2022 Federal election. James STEVENS was elected after 9 counts, 56,813 votes to 55,797 for Sonja BARAM. The table below gives every figure.First prefsCount 1Count 2Count 3Count 4Count 5Count 6Count 7Count 8Count 9James STEVENS: 48,579 votes stay with themSonja BARAM: 34,528 votes stay with themKatie McCUSKER: 18,454 votes stay with themStephen GRANT: 3,008 votes stay with themAlexander ALLWOOD: 2,893 votes stay with themDavid SHERLOCK: 1,531 votes stay with themThomas McMAHON: 1,147 votes stay with themInty ELHAM: 1,007 votes stay with themKathy SCARBOROUGH: 755 votes stay with themAngela FULCO: 457 votes stay with them60 votes from Chris SCHMIDT (excluded) go to Katie McCUSKER48 votes from Chris SCHMIDT (excluded) go to Sonja BARAM46 votes from Chris SCHMIDT (excluded) go to Angela FULCO24 votes from Chris SCHMIDT (excluded) go to Alexander ALLWOOD19 votes from Chris SCHMIDT (excluded) go to David SHERLOCK15 votes from Chris SCHMIDT (excluded) go to Inty ELHAM13 votes from Chris SCHMIDT (excluded) go to James STEVENS10 votes from Chris SCHMIDT (excluded) go to Stephen GRANT9 votes from Chris SCHMIDT (excluded) go to Kathy SCARBOROUGH7 votes from Chris SCHMIDT (excluded) go to Thomas McMAHONJames STEVENS: 48,592 votes stay with themSonja BARAM: 34,576 votes stay with themKatie McCUSKER: 18,514 votes stay with themStephen GRANT: 3,018 votes stay with themAlexander ALLWOOD: 2,917 votes stay with themDavid SHERLOCK: 1,550 votes stay with themThomas McMAHON: 1,154 votes stay with themInty ELHAM: 1,022 votes stay with themKathy SCARBOROUGH: 764 votes stay with them155 votes from Angela FULCO (excluded) go to Katie McCUSKER67 votes from Angela FULCO (excluded) go to David SHERLOCK65 votes from Angela FULCO (excluded) go to Sonja BARAM56 votes from Angela FULCO (excluded) go to Stephen GRANT41 votes from Angela FULCO (excluded) go to Alexander ALLWOOD37 votes from Angela FULCO (excluded) go to Inty ELHAM35 votes from Angela FULCO (excluded) go to Kathy SCARBOROUGH34 votes from Angela FULCO (excluded) go to James STEVENS13 votes from Angela FULCO (excluded) go to Thomas McMAHONJames STEVENS: 48,626 votes stay with themSonja BARAM: 34,641 votes stay with themKatie McCUSKER: 18,669 votes stay with themStephen GRANT: 3,074 votes stay with themAlexander ALLWOOD: 2,958 votes stay with themDavid SHERLOCK: 1,617 votes stay with themThomas McMAHON: 1,167 votes stay with themInty ELHAM: 1,059 votes stay with them220 votes from Kathy SCARBOROUGH (excluded) go to Alexander ALLWOOD166 votes from Kathy SCARBOROUGH (excluded) go to Thomas McMAHON153 votes from Kathy SCARBOROUGH (excluded) go to Stephen GRANT67 votes from Kathy SCARBOROUGH (excluded) go to James STEVENS65 votes from Kathy SCARBOROUGH (excluded) go to Inty ELHAM51 votes from Kathy SCARBOROUGH (excluded) go to David SHERLOCK39 votes from Kathy SCARBOROUGH (excluded) go to Sonja BARAM38 votes from Kathy SCARBOROUGH (excluded) go to Katie McCUSKERJames STEVENS: 48,693 votes stay with themSonja BARAM: 34,680 votes stay with themKatie McCUSKER: 18,707 votes stay with themStephen GRANT: 3,227 votes stay with themAlexander ALLWOOD: 3,178 votes stay with themDavid SHERLOCK: 1,668 votes stay with themThomas McMAHON: 1,333 votes stay with them310 votes from Inty ELHAM (excluded) go to Katie McCUSKER237 votes from Inty ELHAM (excluded) go to James STEVENS226 votes from Inty ELHAM (excluded) go to Sonja BARAM107 votes from Inty ELHAM (excluded) go to David SHERLOCK104 votes from Inty ELHAM (excluded) go to Thomas McMAHON73 votes from Inty ELHAM (excluded) go to Stephen GRANT67 votes from Inty ELHAM (excluded) go to Alexander ALLWOODJames STEVENS: 48,930 votes stay with themSonja BARAM: 34,906 votes stay with themKatie McCUSKER: 19,017 votes stay with themStephen GRANT: 3,300 votes stay with themAlexander ALLWOOD: 3,245 votes stay with themDavid SHERLOCK: 1,775 votes stay with them513 votes from Thomas McMAHON (excluded) go to James STEVENS291 votes from Thomas McMAHON (excluded) go to Alexander ALLWOOD243 votes from Thomas McMAHON (excluded) go to Stephen GRANT144 votes from Thomas McMAHON (excluded) go to Katie McCUSKER131 votes from Thomas McMAHON (excluded) go to David SHERLOCK115 votes from Thomas McMAHON (excluded) go to Sonja BARAMJames STEVENS: 49,443 votes stay with themSonja BARAM: 35,021 votes stay with themKatie McCUSKER: 19,161 votes stay with themStephen GRANT: 3,543 votes stay with themAlexander ALLWOOD: 3,536 votes stay with them847 votes from David SHERLOCK (excluded) go to Katie McCUSKER327 votes from David SHERLOCK (excluded) go to Sonja BARAM273 votes from David SHERLOCK (excluded) go to Stephen GRANT257 votes from David SHERLOCK (excluded) go to James STEVENS202 votes from David SHERLOCK (excluded) go to Alexander ALLWOODJames STEVENS: 49,700 votes stay with themSonja BARAM: 35,348 votes stay with themKatie McCUSKER: 20,008 votes stay with themStephen GRANT: 3,816 votes stay with them2,501 votes from Alexander ALLWOOD (excluded) go to Stephen GRANT547 votes from Alexander ALLWOOD (excluded) go to James STEVENS388 votes from Alexander ALLWOOD (excluded) go to Katie McCUSKER302 votes from Alexander ALLWOOD (excluded) go to Sonja BARAMJames STEVENS: 50,247 votes stay with themSonja BARAM: 35,650 votes stay with themKatie McCUSKER: 20,396 votes stay with them3,246 votes from Stephen GRANT (excluded) go to James STEVENS1,734 votes from Stephen GRANT (excluded) go to Katie McCUSKER1,337 votes from Stephen GRANT (excluded) go to Sonja BARAMJames STEVENS: 53,493 votes stay with themSonja BARAM: 36,987 votes stay with them18,810 votes from Katie McCUSKER (excluded) go to Sonja BARAM3,320 votes from Katie McCUSKER (excluded) go to James STEVENSJames STEVENS (LP): 48,579 votes at first preferencesSTEVENSSonja BARAM (ALP): 34,528 votes at first preferencesBARAMKatie McCUSKER (GRN): 18,454 votes at first preferencesMcCUSKERStephen GRANT (UAPP): 3,008 votes at first preferencesAlexander ALLWOOD (ON): 2,893 votes at first preferencesDavid SHERLOCK (AJP): 1,531 votes at first preferencesThomas McMAHON (LDP): 1,147 votes at first preferencesInty ELHAM (DPDA): 1,007 votes at first preferencesKathy SCARBOROUGH (CYA): 755 votes at first preferencesAngela FULCO (AUP): 457 votes at first preferencesChris SCHMIDT (TNL): 251 votes at first preferencesJames STEVENS (LP): 48,592 votes at count 1STEVENSSonja BARAM (ALP): 34,576 votes at count 1BARAMKatie McCUSKER (GRN): 18,514 votes at count 1McCUSKERStephen GRANT (UAPP): 3,018 votes at count 1Alexander ALLWOOD (ON): 2,917 votes at count 1David SHERLOCK (AJP): 1,550 votes at count 1Thomas McMAHON (LDP): 1,154 votes at count 1Inty ELHAM (DPDA): 1,022 votes at count 1Kathy SCARBOROUGH (CYA): 764 votes at count 1Angela FULCO (AUP): 503 votes at count 1James STEVENS (LP): 48,626 votes at count 2STEVENSSonja BARAM (ALP): 34,641 votes at count 2BARAMKatie McCUSKER (GRN): 18,669 votes at count 2McCUSKERStephen GRANT (UAPP): 3,074 votes at count 2Alexander ALLWOOD (ON): 2,958 votes at count 2David SHERLOCK (AJP): 1,617 votes at count 2Thomas McMAHON (LDP): 1,167 votes at count 2Inty ELHAM (DPDA): 1,059 votes at count 2Kathy SCARBOROUGH (CYA): 799 votes at count 2James STEVENS (LP): 48,693 votes at count 3STEVENSSonja BARAM (ALP): 34,680 votes at count 3BARAMKatie McCUSKER (GRN): 18,707 votes at count 3McCUSKERStephen GRANT (UAPP): 3,227 votes at count 3Alexander ALLWOOD (ON): 3,178 votes at count 3David SHERLOCK (AJP): 1,668 votes at count 3Thomas McMAHON (LDP): 1,333 votes at count 3Inty ELHAM (DPDA): 1,124 votes at count 3James STEVENS (LP): 48,930 votes at count 4STEVENSSonja BARAM (ALP): 34,906 votes at count 4BARAMKatie McCUSKER (GRN): 19,017 votes at count 4McCUSKERStephen GRANT (UAPP): 3,300 votes at count 4Alexander ALLWOOD (ON): 3,245 votes at count 4David SHERLOCK (AJP): 1,775 votes at count 4Thomas McMAHON (LDP): 1,437 votes at count 4James STEVENS (LP): 49,443 votes at count 5STEVENSSonja BARAM (ALP): 35,021 votes at count 5BARAMKatie McCUSKER (GRN): 19,161 votes at count 5McCUSKERStephen GRANT (UAPP): 3,543 votes at count 5Alexander ALLWOOD (ON): 3,536 votes at count 5David SHERLOCK (AJP): 1,906 votes at count 5James STEVENS (LP): 49,700 votes at count 6STEVENSSonja BARAM (ALP): 35,348 votes at count 6BARAMKatie McCUSKER (GRN): 20,008 votes at count 6McCUSKERStephen GRANT (UAPP): 3,816 votes at count 6Alexander ALLWOOD (ON): 3,738 votes at count 6James STEVENS (LP): 50,247 votes at count 7STEVENSSonja BARAM (ALP): 35,650 votes at count 7BARAMKatie McCUSKER (GRN): 20,396 votes at count 7McCUSKERStephen GRANT (UAPP): 6,317 votes at count 7GRANTJames STEVENS (LP): 53,493 votes at count 8STEVENSSonja BARAM (ALP): 36,987 votes at count 8BARAMKatie McCUSKER (GRN): 22,130 votes at count 8McCUSKERJames STEVENS (LP): 56,813 votes at count 9STEVENS · electedSonja BARAM (ALP): 55,797 votes at count 9BARAM · runner-up
Each column is a count. Bar height = votes held; the candidate with the fewest votes is excluded and their votes flow to the others. Hover or tap a candidate to highlight their flows.

What happened, count by count

Where the preferences went

Sturt 2022: where each excluded candidate’s votes went
CountExcludedVotes distributedPassed to
1Chris SCHMIDTTNL251
  • Katie McCUSKER (GRN): 60 (23.9%)
  • Sonja BARAM (ALP): 48 (19.1%)
  • Angela FULCO (AUP): 46 (18.3%)
  • Alexander ALLWOOD (ON): 24 (9.6%)
  • David SHERLOCK (AJP): 19 (7.6%)
  • Inty ELHAM (DPDA): 15 (6.0%)
  • James STEVENS (LP): 13 (5.2%)
  • Stephen GRANT (UAPP): 10 (4.0%)
  • Kathy SCARBOROUGH (CYA): 9 (3.6%)
  • Thomas McMAHON (LDP): 7 (2.8%)
2Angela FULCOAustralian Progressives503
  • Katie McCUSKER (GRN): 155 (30.8%)
  • David SHERLOCK (AJP): 67 (13.3%)
  • Sonja BARAM (ALP): 65 (12.9%)
  • Stephen GRANT (UAPP): 56 (11.1%)
  • Alexander ALLWOOD (ON): 41 (8.2%)
  • Inty ELHAM (DPDA): 37 (7.4%)
  • Kathy SCARBOROUGH (CYA): 35 (7.0%)
  • James STEVENS (LP): 34 (6.8%)
  • Thomas McMAHON (LDP): 13 (2.6%)
3Kathy SCARBOROUGHAustralian Federation Party799
  • Alexander ALLWOOD (ON): 220 (27.5%)
  • Thomas McMAHON (LDP): 166 (20.8%)
  • Stephen GRANT (UAPP): 153 (19.1%)
  • James STEVENS (LP): 67 (8.4%)
  • Inty ELHAM (DPDA): 65 (8.1%)
  • David SHERLOCK (AJP): 51 (6.4%)
  • Sonja BARAM (ALP): 39 (4.9%)
  • Katie McCUSKER (GRN): 38 (4.8%)
4Inty ELHAMDrew Pavlou Democratic Alliance1,124
  • Katie McCUSKER (GRN): 310 (27.6%)
  • James STEVENS (LP): 237 (21.1%)
  • Sonja BARAM (ALP): 226 (20.1%)
  • David SHERLOCK (AJP): 107 (9.5%)
  • Thomas McMAHON (LDP): 104 (9.3%)
  • Stephen GRANT (UAPP): 73 (6.5%)
  • Alexander ALLWOOD (ON): 67 (6.0%)
5Thomas McMAHONLiberal Democrats1,437
  • James STEVENS (LP): 513 (35.7%)
  • Alexander ALLWOOD (ON): 291 (20.3%)
  • Stephen GRANT (UAPP): 243 (16.9%)
  • Katie McCUSKER (GRN): 144 (10.0%)
  • David SHERLOCK (AJP): 131 (9.1%)
  • Sonja BARAM (ALP): 115 (8.0%)
6David SHERLOCKAnimal Justice Party1,906
  • Katie McCUSKER (GRN): 847 (44.4%)
  • Sonja BARAM (ALP): 327 (17.2%)
  • Stephen GRANT (UAPP): 273 (14.3%)
  • James STEVENS (LP): 257 (13.5%)
  • Alexander ALLWOOD (ON): 202 (10.6%)
7Alexander ALLWOODPauline Hanson's One Nation3,738
  • Stephen GRANT (UAPP): 2,501 (66.9%)
  • James STEVENS (LP): 547 (14.6%)
  • Katie McCUSKER (GRN): 388 (10.4%)
  • Sonja BARAM (ALP): 302 (8.1%)
8Stephen GRANTUnited Australia Party6,317
  • James STEVENS (LP): 3,246 (51.4%)
  • Katie McCUSKER (GRN): 1,734 (27.4%)
  • Sonja BARAM (ALP): 1,337 (21.2%)
9Katie McCUSKERThe Greens22,130
  • Sonja BARAM (ALP): 18,810 (85.0%)
  • James STEVENS (LP): 3,320 (15.0%)

Votes after every count

Sturt 2022: votes held by each candidate after every count (– = excluded)
CandidateFirst prefsCount 1Count 2Count 3Count 4Count 5Count 6Count 7Count 8Count 9
James STEVENSLiberal · elected48,57948,59248,62648,69348,93049,44349,70050,24753,49356,813
Sonja BARAMAustralian Labor Party34,52834,57634,64134,68034,90635,02135,34835,65036,98755,797
Katie McCUSKERThe Greens18,45418,51418,66918,70719,01719,16120,00820,39622,130–
Stephen GRANTUnited Australia Party3,0083,0183,0743,2273,3003,5433,8166,317––
Alexander ALLWOODPauline Hanson's One Nation2,8932,9172,9583,1783,2453,5363,738–––
David SHERLOCKAnimal Justice Party1,5311,5501,6171,6681,7751,906––––
Thomas McMAHONLiberal Democrats1,1471,1541,1671,3331,437–––––
Inty ELHAMDrew Pavlou Democratic Alliance1,0071,0221,0591,124––––––
Kathy SCARBOROUGHAustralian Federation Party755764799–––––––
Angela FULCOAustralian Progressives457503––––––––
Chris SCHMIDTTNL251–––––––––

2019 Federal election

James STEVENS (Liberal) won Sturt in 2019 with 62,404 of the 109,732 votes in the final count, beating Cressida O'HANLON (Australian Labor Party) by 15,076 votes (56.9% to 43.1%). Stevens won on first preferences, with 50.6% of 109,732 formal votes (more than half: 54,867 needed).

109,732 formal votes8 candidates6 counts15,076-vote final margin

Sturt 2019: preference flowsSankey diagram of the distribution of preferences in Sturt at the 2019 Federal election. James STEVENS was elected after 6 counts, 62,404 votes to 47,328 for Cressida O'HANLON. The table below gives every figure.First prefsCount 1Count 2Count 3Count 4Count 5Count 6James STEVENS: 55,490 votes stay with themCressida O'HANLON: 32,766 votes stay with themPaul BOUNDY: 12,263 votes stay with themNick LARCOMBE: 2,906 votes stay with themHedley HARDING: 2,657 votes stay with themHarbinda ROBERTS: 1,866 votes stay with themColin THOMAS: 1,219 votes stay with them178 votes from Angela FULCO (excluded) go to Nick LARCOMBE138 votes from Angela FULCO (excluded) go to Paul BOUNDY91 votes from Angela FULCO (excluded) go to Cressida O'HANLON59 votes from Angela FULCO (excluded) go to Colin THOMAS39 votes from Angela FULCO (excluded) go to Harbinda ROBERTS37 votes from Angela FULCO (excluded) go to James STEVENS23 votes from Angela FULCO (excluded) go to Hedley HARDINGJames STEVENS: 55,527 votes stay with themCressida O'HANLON: 32,857 votes stay with themPaul BOUNDY: 12,401 votes stay with themNick LARCOMBE: 3,084 votes stay with themHedley HARDING: 2,680 votes stay with themHarbinda ROBERTS: 1,905 votes stay with them435 votes from Colin THOMAS (excluded) go to Harbinda ROBERTS220 votes from Colin THOMAS (excluded) go to Nick LARCOMBE199 votes from Colin THOMAS (excluded) go to Paul BOUNDY148 votes from Colin THOMAS (excluded) go to Cressida O'HANLON142 votes from Colin THOMAS (excluded) go to James STEVENS134 votes from Colin THOMAS (excluded) go to Hedley HARDINGJames STEVENS: 55,669 votes stay with themCressida O'HANLON: 33,005 votes stay with themPaul BOUNDY: 12,600 votes stay with themNick LARCOMBE: 3,304 votes stay with themHedley HARDING: 2,814 votes stay with them994 votes from Harbinda ROBERTS (excluded) go to Paul BOUNDY430 votes from Harbinda ROBERTS (excluded) go to Nick LARCOMBE395 votes from Harbinda ROBERTS (excluded) go to Cressida O'HANLON278 votes from Harbinda ROBERTS (excluded) go to James STEVENS243 votes from Harbinda ROBERTS (excluded) go to Hedley HARDINGJames STEVENS: 55,947 votes stay with themCressida O'HANLON: 33,400 votes stay with themPaul BOUNDY: 13,594 votes stay with themNick LARCOMBE: 3,734 votes stay with them1,378 votes from Hedley HARDING (excluded) go to James STEVENS841 votes from Hedley HARDING (excluded) go to Nick LARCOMBE437 votes from Hedley HARDING (excluded) go to Cressida O'HANLON401 votes from Hedley HARDING (excluded) go to Paul BOUNDYJames STEVENS: 57,325 votes stay with themCressida O'HANLON: 33,837 votes stay with themPaul BOUNDY: 13,995 votes stay with them1,812 votes from Nick LARCOMBE (excluded) go to Paul BOUNDY1,447 votes from Nick LARCOMBE (excluded) go to Cressida O'HANLON1,316 votes from Nick LARCOMBE (excluded) go to James STEVENSJames STEVENS: 58,641 votes stay with themCressida O'HANLON: 35,284 votes stay with them12,044 votes from Paul BOUNDY (excluded) go to Cressida O'HANLON3,763 votes from Paul BOUNDY (excluded) go to James STEVENSJames STEVENS (LP): 55,490 votes at first preferencesSTEVENSCressida O'HANLON (ALP): 32,766 votes at first preferencesO'HANLONPaul BOUNDY (GRN): 12,263 votes at first preferencesBOUNDYNick LARCOMBE (IND): 2,906 votes at first preferencesHedley HARDING (UAPP): 2,657 votes at first preferencesHarbinda ROBERTS (AJP): 1,866 votes at first preferencesColin THOMAS (CPP): 1,219 votes at first preferencesAngela FULCO (AUP): 565 votes at first preferencesJames STEVENS (LP): 55,527 votes at count 1STEVENSCressida O'HANLON (ALP): 32,857 votes at count 1O'HANLONPaul BOUNDY (GRN): 12,401 votes at count 1BOUNDYNick LARCOMBE (IND): 3,084 votes at count 1Hedley HARDING (UAPP): 2,680 votes at count 1Harbinda ROBERTS (AJP): 1,905 votes at count 1Colin THOMAS (CPP): 1,278 votes at count 1James STEVENS (LP): 55,669 votes at count 2STEVENSCressida O'HANLON (ALP): 33,005 votes at count 2O'HANLONPaul BOUNDY (GRN): 12,600 votes at count 2BOUNDYNick LARCOMBE (IND): 3,304 votes at count 2Hedley HARDING (UAPP): 2,814 votes at count 2Harbinda ROBERTS (AJP): 2,340 votes at count 2James STEVENS (LP): 55,947 votes at count 3STEVENSCressida O'HANLON (ALP): 33,400 votes at count 3O'HANLONPaul BOUNDY (GRN): 13,594 votes at count 3BOUNDYNick LARCOMBE (IND): 3,734 votes at count 3Hedley HARDING (UAPP): 3,057 votes at count 3James STEVENS (LP): 57,325 votes at count 4STEVENSCressida O'HANLON (ALP): 33,837 votes at count 4O'HANLONPaul BOUNDY (GRN): 13,995 votes at count 4BOUNDYNick LARCOMBE (IND): 4,575 votes at count 4LARCOMBEJames STEVENS (LP): 58,641 votes at count 5STEVENSCressida O'HANLON (ALP): 35,284 votes at count 5O'HANLONPaul BOUNDY (GRN): 15,807 votes at count 5BOUNDYJames STEVENS (LP): 62,404 votes at count 6STEVENS · electedCressida O'HANLON (ALP): 47,328 votes at count 6O'HANLON · runner-up
Each column is a count. Bar height = votes held; the candidate with the fewest votes is excluded and their votes flow to the others. Hover or tap a candidate to highlight their flows.

What happened, count by count

Where the preferences went

Sturt 2019: where each excluded candidate’s votes went
CountExcludedVotes distributedPassed to
1Angela FULCOAustralian Progressives565
  • Nick LARCOMBE (IND): 178 (31.5%)
  • Paul BOUNDY (GRN): 138 (24.4%)
  • Cressida O'HANLON (ALP): 91 (16.1%)
  • Colin THOMAS (CPP): 59 (10.4%)
  • Harbinda ROBERTS (AJP): 39 (6.9%)
  • James STEVENS (LP): 37 (6.5%)
  • Hedley HARDING (UAPP): 23 (4.1%)
2Colin THOMASChild Protection Party1,278
  • Harbinda ROBERTS (AJP): 435 (34.0%)
  • Nick LARCOMBE (IND): 220 (17.2%)
  • Paul BOUNDY (GRN): 199 (15.6%)
  • Cressida O'HANLON (ALP): 148 (11.6%)
  • James STEVENS (LP): 142 (11.1%)
  • Hedley HARDING (UAPP): 134 (10.5%)
3Harbinda ROBERTSAnimal Justice Party2,340
  • Paul BOUNDY (GRN): 994 (42.5%)
  • Nick LARCOMBE (IND): 430 (18.4%)
  • Cressida O'HANLON (ALP): 395 (16.9%)
  • James STEVENS (LP): 278 (11.9%)
  • Hedley HARDING (UAPP): 243 (10.4%)
4Hedley HARDINGUnited Australia Party3,057
  • James STEVENS (LP): 1,378 (45.1%)
  • Nick LARCOMBE (IND): 841 (27.5%)
  • Cressida O'HANLON (ALP): 437 (14.3%)
  • Paul BOUNDY (GRN): 401 (13.1%)
5Nick LARCOMBEIndependent4,575
  • Paul BOUNDY (GRN): 1,812 (39.6%)
  • Cressida O'HANLON (ALP): 1,447 (31.6%)
  • James STEVENS (LP): 1,316 (28.8%)
6Paul BOUNDYThe Greens15,807
  • Cressida O'HANLON (ALP): 12,044 (76.2%)
  • James STEVENS (LP): 3,763 (23.8%)

Votes after every count

Sturt 2019: votes held by each candidate after every count (– = excluded)
CandidateFirst prefsCount 1Count 2Count 3Count 4Count 5Count 6
James STEVENSLiberal · elected55,49055,52755,66955,94757,32558,64162,404
Cressida O'HANLONAustralian Labor Party32,76632,85733,00533,40033,83735,28447,328
Paul BOUNDYThe Greens12,26312,40112,60013,59413,99515,807–
Nick LARCOMBEIndependent2,9063,0843,3043,7344,575––
Hedley HARDINGUnited Australia Party2,6572,6802,8143,057–––
Harbinda ROBERTSAnimal Justice Party1,8661,9052,340––––
Colin THOMASChild Protection Party1,2191,278–––––
Angela FULCOAustralian Progressives565––––––

About this page

Australian House of Representatives elections use full-preferential voting: voters number every box. If no candidate has more than half the first-preference votes, the candidate with the fewest is excluded and their ballots pass to each voter’s next preference, repeating until someone has more than half. Practical lesson: rank the candidate you most want to win first and the one you most want to lose last.

Source: Australian Electoral Commission, House of Representatives distribution of preferences by division (© Commonwealth of Australia, CC BY 4.0), 2019, 2022 and 2025 Federal elections. Division boundaries change between elections, so results under the same name are not like-for-like. Built 2 November 2026. Spotted an error? Tell us.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.