2019 National and Provincial Elections
Held on 8 May 2019. Results by municipal area, summed from the IEC's voting-district results. No boundary geometry is held for this election's areas, so its results are shown as tables.
National ballot: results
Elects the National Assembly from national party lists (from 2024, 200 of its 400 seats; before 2024, all 400 seats).
| Party or contestant (as listed) | Votes | Share |
|---|---|---|
| AFRICAN NATIONAL CONGRESS | 10 026 475 | 57,5% |
| DEMOCRATIC ALLIANCE | 3 622 531 | 20,8% |
| ECONOMIC FREEDOM FIGHTERS | 1 882 480 | 10,8% |
| INKATHA FREEDOM PARTY | 588 839 | 3,4% |
| VRYHEIDSFRONT PLUS | 414 864 | 2,4% |
| AFRICAN CHRISTIAN DEMOCRATIC PARTY | 146 262 | 0,8% |
| UNITED DEMOCRATIC MOVEMENT | 78 030 | 0,4% |
| AFRICAN TRANSFORMATION MOVEMENT | 76 830 | 0,4% |
| GOOD | 70 408 | 0,4% |
| NATIONAL FREEDOM PARTY | 61 220 | 0,4% |
| AFRICAN INDEPENDENT CONGRESS | 48 107 | 0,3% |
| CONGRESS OF THE PEOPLE | 47 461 | 0,3% |
| Others (36 together) | 373 872 | 2,1% |
Show all 48 parties and contestants
Key figures
- Valid votes
- 17 437 379
- Turnout
- 66,1%
- Votes cast
- 17 672 851
- Spoilt votes
- 235 472
- Registered voters
- 26 756 058
- Ballots
- 1
Compare with another national & Provincial election
No map for this election
Western Cape: by municipal area
Municipal areas as the official results list them for this election
| Municipal area | Valid votes | Turnout | ANC | Most votes |
|---|---|---|---|---|
| Beaufort West | 15 488 | 59,8% | 43,2% | AFRICAN NATIONAL CONGRESS 43,2% |
| Bergrivier | 17 788 | 66,7% | 27,9% | DEMOCRATIC ALLIANCE 56,2% |
| Bitou | 19 708 | 68,9% | 41,9% | DEMOCRATIC ALLIANCE 45,7% |
| Breede Valley | 48 061 | 62,2% | 33,9% | DEMOCRATIC ALLIANCE 51,3% |
| Cape Agulhas | 13 866 | 68,5% | 32,7% | DEMOCRATIC ALLIANCE 54,6% |
| Cederberg | 16 167 | 63,5% | 46,8% | AFRICAN NATIONAL CONGRESS 46,8% |
| City of Cape Town | 1 389 883 | 69,9% | 30,5% | DEMOCRATIC ALLIANCE 53,0% |
| Drakenstein | 89 010 | 68,0% | 28,5% | DEMOCRATIC ALLIANCE 57,4% |
| George | 67 100 | 65,7% | 32,1% | DEMOCRATIC ALLIANCE 50,2% |
| Hessequa | 23 211 | 72,5% | 40,1% | DEMOCRATIC ALLIANCE 47,9% |
| Kannaland | 9 474 | 65,0% | 20,8% | INDEPENDENT CIVIC ORGANISATION OF SOUTH AFRICA 37,6% |
| Knysna | 26 266 | 65,4% | 38,1% | DEMOCRATIC ALLIANCE 48,8% |
| Laingsburg | 3 096 | 69,7% | 44,7% | AFRICAN NATIONAL CONGRESS 44,7% |
| Langeberg | 25 044 | 58,2% | 31,6% | DEMOCRATIC ALLIANCE 51,4% |
| Matzikama | 18 272 | 59,9% | 40,3% | DEMOCRATIC ALLIANCE 45,2% |
| Mossel Bay | 44 859 | 72,0% | 25,2% | DEMOCRATIC ALLIANCE 55,6% |
| Oudtshoorn | 28 476 | 54,5% | 34,7% | DEMOCRATIC ALLIANCE 46,5% |
| Overstrand | 43 789 | 76,5% | 24,2% | DEMOCRATIC ALLIANCE 53,4% |
| Prince Albert | 4 949 | 66,9% | 34,6% | DEMOCRATIC ALLIANCE 57,2% |
| Saldanha Bay | 40 217 | 68,1% | 32,4% | DEMOCRATIC ALLIANCE 52,6% |
| Stellenbosch | 62 561 | 66,0% | 27,0% | DEMOCRATIC ALLIANCE 58,1% |
| Swartland | 30 998 | 62,4% | 25,8% | DEMOCRATIC ALLIANCE 59,7% |
| Swellendam | 13 376 | 68,7% | 42,6% | DEMOCRATIC ALLIANCE 47,3% |
| Theewaterskloof | 34 849 | 60,6% | 38,8% | DEMOCRATIC ALLIANCE 45,3% |
| Witzenberg | 25 662 | 54,9% | 44,1% | AFRICAN NATIONAL CONGRESS 44,1% |
Coverage and comparability
What this election's record holds, the delimitation its areas sit on, and which elections it may be compared with
By ballot
- National ballot
- Provincial ballot
Boundaries and comparisons
Areas of the 2016 municipal delimitation; no boundary geometry is held, so areas are listed by name and code and never drawn on another delimitation's map.
Nationally and by province this election compares with every other national & Provincial election. By municipality: no other election is on the same delimitation, so municipal results are listed per election and never side by side. Wards are compared only within one delimitation.
About this record
Coverage, limitations, source issues and how the figures were checked
What the record holds
- Municipal areas are the 2016 municipalities, as the IEC file lists them. No boundary geometry is held for this election's municipal areas: results are shown as tables, never drawn on today's boundaries.
Source issues
- In the national-ballot CSV, 912 rows have unquoted commas inside the voting-station name, which shifts their columns. They are read by anchoring on the numeric columns; every repaired row is counted in the ingestion record and the totals reconcile with the IEC's results report.
- Votes cast abroad appear under two labels in the file, "Out of Country" and "Out of Country Voting". Both are kept as listed, as separate reporting areas.
- The voting-district file and the IEC's results report (IEC 2019 National Election — Detailed Results, all provinces (PDF), results as at 10/12/2019 02:43:19 PM) differ in 2 of 572 figures, all in Eastern Cape. Free State, Gauteng, KwaZulu-Natal, Limpopo, Mpumalanga, North West, Northern Cape, Western Cape, votes cast abroad agree exactly. The figures shown are the voting-district file's, as published; the report most likely reflects later corrections. Not adjusted; to raise with the IEC.
- The voting-district file and the IEC's results report (IEC 2019 Provincial Election — Detailed Results, all provinces (PDF), results as at 13/05/2019 04:22:34 PM) differ in 4 of 740 figures, all in Gauteng. Eastern Cape, Free State, KwaZulu-Natal, Limpopo, Mpumalanga, North West, Northern Cape, Western Cape agree exactly. The figures shown are the voting-district file's, as published; the report most likely reflects later corrections. Not adjusted; to raise with the IEC.
How it was read and checked
- Election date: Polling day as proclaimed in the Government Gazette. The IEC results files do not state the date and the proclamation is not yet among this election's captured documents.
- Results are stored for each municipal area (and for votes cast abroad) as sums of the IEC's voting-district rows; the number of voting districts summed is stored with each figure. Voting-district detail is in the official file (SHA-256 recorded) but not loaded (storage policy, DATABASE §8.2).
Sources
The official files behind these results
| Document | Role | Retrieved | SHA-256 |
|---|---|---|---|
| IEC 2019 National Election — full results down to voting-district level (zipped CSV) | Results data | 8 October 2026 | 8d3e8a3c40829732… |
| IEC 2019 Provincial Election — full results down to voting-district level (zipped CSV) | Results data | 8 October 2026 | bf75dc4682b7f8b2… |
| IEC 2019 National Election — Detailed Results, all provinces (PDF) | Results report | 8 October 2026 | 56c17208991b8423… |
| IEC 2019 Provincial Election — Detailed Results, all provinces (PDF) | Results report | 8 October 2026 | fde0fa82d2bbecb1… |
| IEC 2019 National Election — Seat Calculation (PDF) | Seat calculation | 8 October 2026 | 529992dc04cb99bb… |
Turnout 66,1%





