News · Elections 2026 · Municipal results
47 municipalities: three majority allocations, seven councils without one
A dated review of all eight metros and 39 other municipalities. Complete allocations show majorities in Kouga, Drakenstein and Richmond; Knysna remains without one.

Kouga, Drakenstein and Richmond have complete IEC dashboard allocations giving one party an outright majority in TPR’s latest review of 47 selected municipalities. Knysna, Makana and Dawid Kruiper show why a leading party, a tied largest bloc and a majority are different political outcomes.
The selection covers all eight metros and 39 other local municipalities across every province. It is an editorial watchlist chosen for geographic coverage, major urban and service responsibilities and TPR’s Bay and Garden Route readership. It is not a measured ranking of search demand, and it does not replace the full 213-municipality results service.
Ten of the 47 detailed files contain complete allocations that reconcile to their expected council seat totals. Three give one party more than half the seats; seven do not. These figures describe this selected group only. They must not be presented as the national number of complete councils, majorities or hung councils.
Majorities the reviewed allocations establish
Kouga gives the DA 18 of 30 seats, exceeding the 16 needed for a majority. Drakenstein gives the DA 36 of 65, above its 33-seat threshold. Richmond gives MK 10 of 17, above the nine needed. TPR can report those majority allocations directly, without pretending to have predicted them from an early lead.
Knysna’s DA allocation is nine of 21 seats, below the 11 needed for a majority. The ANC has four, the PA two, and six other parties one each. In Makana, the ANC has ten of 25, against a majority threshold of 13. In Dawid Kruiper, the DA and ANC each have 14 of 33; the PA has four and FF Plus one. No party has the 17 seats needed there.
The smaller allocations matter. Saldanha Bay gives the DA 15 of 31, one seat short of a majority. Witzenberg gives it ten of 23 and Langeberg nine of 23. Oudtshoorn gives it ten of 25. None of those largest-party positions can be promoted into an outright victory claim.
A full dashboard allocation is still a different record from the IEC’s formal declaration and the council’s election of its mayor. TPR has not verified a separate declaration notice for these ten through this review. The table reports what the dated dashboard files establish, not an agreed coalition or an appointed executive.
All ten completed allocations in this watchlist
Dawid Kruiper
No party has an outright majority in this complete dashboard allocation.
33 seats; 17 needed for an outright majority. Source 5 November at 20:11 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| ANC | 9 | 5 | 14 |
| DA | 8 | 6 | 14 |
| PA | 0 | 4 | 4 |
| FF Plus | 0 | 1 | 1 |
Dawid Kruiper IEC source, 5 November 20:11 SAST
Drakenstein
Majority allocation: DA.
65 seats; 33 needed for an outright majority. Source 5 November at 20:16 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 26 | 10 | 36 |
| ANC | 6 | 3 | 9 |
| PA | 0 | 8 | 8 |
| FF Plus | 0 | 4 | 4 |
| African Christian Democratic Party | 0 | 1 | 1 |
| Al Jama-Ah | 0 | 1 | 1 |
| EFF | 0 | 1 | 1 |
| Good | 0 | 1 | 1 |
| Independents | 1 | 0 | 1 |
| Pan Africanist Congress Of Azania | 0 | 1 | 1 |
| People'S Movement For Change | 0 | 1 | 1 |
| SACP | 0 | 1 | 1 |
Drakenstein IEC source, 5 November 20:16 SAST
Knysna
No party has an outright majority in this complete dashboard allocation.
21 seats; 11 needed for an outright majority. Source 5 November at 20:12 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 7 | 2 | 9 |
| ANC | 4 | 0 | 4 |
| PA | 0 | 2 | 2 |
| Choose Cx | 0 | 1 | 1 |
| EFF | 0 | 1 | 1 |
| Knysna Civic Alliance | 0 | 1 | 1 |
| People'S Movement For Change | 0 | 1 | 1 |
| SACP | 0 | 1 | 1 |
| FF Plus | 0 | 1 | 1 |
Knysna IEC source, 5 November 20:12 SAST
Kouga
Majority allocation: DA.
30 seats; 16 needed for an outright majority. Source 5 November at 20:16 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 11 | 7 | 18 |
| ANC | 4 | 4 | 8 |
| PA | 0 | 2 | 2 |
| People'S Movement For Change | 0 | 1 | 1 |
| FF Plus | 0 | 1 | 1 |
Kouga IEC source, 5 November 20:16 SAST
Langeberg
No party has an outright majority in this complete dashboard allocation.
23 seats; 12 needed for an outright majority. Source 5 November at 20:16 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 9 | 0 | 9 |
| ANC | 1 | 3 | 4 |
| PA | 1 | 3 | 4 |
| FF Plus | 0 | 2 | 2 |
| Better Zolani | 1 | 0 | 1 |
| Langeberg First | 0 | 1 | 1 |
| Langeberg Ratepayers Association | 0 | 1 | 1 |
| Langerberg Independent Party | 0 | 1 | 1 |
Langeberg IEC source, 5 November 20:16 SAST
Makana
No party has an outright majority in this complete dashboard allocation.
25 seats; 13 needed for an outright majority. Source 5 November at 20:11 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| ANC | 10 | 0 | 10 |
| DA | 3 | 3 | 6 |
| Makana United Civic Movement | 0 | 4 | 4 |
| ActionSA | 0 | 1 | 1 |
| EFF | 0 | 1 | 1 |
| Makana Citizens Front | 0 | 1 | 1 |
| PA | 0 | 1 | 1 |
| SACP | 0 | 1 | 1 |
Makana IEC source, 5 November 20:11 SAST
Oudtshoorn
No party has an outright majority in this complete dashboard allocation.
25 seats; 13 needed for an outright majority. Source 5 November at 20:16 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 10 | 0 | 10 |
| ANC | 3 | 2 | 5 |
| PA | 0 | 3 | 3 |
| FF Plus | 0 | 3 | 3 |
| Advieskantoor | 0 | 1 | 1 |
| Bridgton Civic Association | 0 | 1 | 1 |
| Independent Civic Organisation Of South Africa | 0 | 1 | 1 |
| Restore Azania Movement | 0 | 1 | 1 |
Oudtshoorn IEC source, 5 November 20:16 SAST
Richmond
Majority allocation: MK.
17 seats; 9 needed for an outright majority. Source 5 November at 20:11 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| MK | 8 | 2 | 10 |
| ANC | 1 | 4 | 5 |
| DA | 0 | 2 | 2 |
Richmond IEC source, 5 November 20:11 SAST
Saldanha Bay
No party has an outright majority in this complete dashboard allocation.
31 seats; 16 needed for an outright majority. Source 5 November at 20:16 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 9 | 6 | 15 |
| PA | 3 | 3 | 6 |
| ANC | 3 | 1 | 4 |
| FF Plus | 0 | 2 | 2 |
| EFF | 0 | 1 | 1 |
| Good | 1 | 0 | 1 |
| SACP | 0 | 1 | 1 |
| MK | 0 | 1 | 1 |
Saldanha Bay IEC source, 5 November 20:16 SAST
Witzenberg
No party has an outright majority in this complete dashboard allocation.
23 seats; 12 needed for an outright majority. Source 5 November at 20:11 SAST.
| Contestant | Ward seats | PR seats | Total seats |
|---|---|---|---|
| DA | 8 | 2 | 10 |
| ANC | 4 | 2 | 6 |
| PA | 0 | 3 | 3 |
| Democratic Association Of Witzenberg Independence | 0 | 1 | 1 |
| EFF | 0 | 1 | 1 |
| FF Plus | 0 | 1 | 1 |
| Witzenberg Party | 0 | 1 | 1 |
Witzenberg IEC source, 5 November 20:11 SAST
The IEC INDEPENDENTS row is an aggregate; it does not identify an individual independent councillor. A separate candidate-level record is required for that identification.
Where all 47 municipalities stand
Each row uses its own source time on 5 November. “Complete allocation” means the reviewed ward, district and seat inventories reconcile; it does not mean a separately verified formal declaration.
| Municipality | Districts complete | IEC time SAST | Reviewed status |
|---|---|---|---|
| Buffalo City | 306 / 380 | 20:11 | Partial count |
| Enoch Mgijima | 160 / 168 | 20:17 | Partial count |
| King Sabata Dalindyebo | 176 / 363 | 20:17 | Partial count |
| Kouga | 50 / 50 | 20:16 | Complete allocation |
| Makana | 42 / 42 | 20:11 | Complete allocation |
| Matatiele | 170 / 185 | 20:17 | Partial count |
| Nelson Mandela Bay | 141 / 268 | 20:11 | Partial count |
| Umzimvubu | 228 / 229 | 20:16 | Partial count |
| Mangaung | 152 / 388 | 20:11 | Partial count |
| Matjhabeng | 81 / 177 | 20:16 | Partial count |
| Metsimaholo | 59 / 88 | 20:16 | Partial count |
| City of Johannesburg | 279 / 862 | 20:11 | Partial count |
| City of Tshwane | 376 / 796 | 20:11 | Partial count |
| Ekurhuleni | 288 / 653 | 20:11 | Partial count |
| Emfuleni | 6 / 168 | 20:16 | Partial count |
| Merafong City | 34 / 77 | 20:16 | Partial count |
| Midvaal | 37 / 39 | 20:16 | Partial count |
| Mogale City | 92 / 115 | 20:11 | Partial count |
| KwaDukuza | 95 / 96 | 20:12 | Partial count |
| Newcastle | 74 / 127 | 20:16 | Partial count |
| Richmond | 45 / 45 | 20:11 | Complete allocation |
| The Msunduzi | 28 / 240 | 19:56 | Partial count |
| eThekwini | 92 / 839 | 20:11 | Partial count |
| uMhlathuze | 73 / 145 | 20:11 | Partial count |
| Makhado | 48 / 208 | 20:11 | Partial count |
| Polokwane | 39 / 307 | 20:11 | Partial count |
| Thulamela | 64 / 271 | 20:16 | Partial count |
| City of Mbombela | 196 / 285 | 20:11 | Partial count |
| Emalahleni | 71 / 124 | 20:11 | Partial count |
| Govan Mbeki | 86 / 104 | 20:16 | Partial count |
| Dawid Kruiper | 57 / 57 | 20:11 | Complete allocation |
| Sol Plaatje | 72 / 73 | 20:11 | Partial count |
| JB Marks | 88 / 106 | 20:16 | Partial count |
| Matlosana | 65 / 129 | 20:16 | Partial count |
| Rustenburg | 20 / 176 | 20:16 | Partial count |
| Bitou | 18 / 20 | 20:16 | Partial count |
| City of Cape Town | 361 / 829 | 20:11 | Partial count |
| Drakenstein | 75 / 75 | 20:16 | Complete allocation |
| George | 61 / 63 | 20:12 | Partial count |
| Knysna | 30 / 30 | 20:12 | Complete allocation |
| Langeberg | 36 / 36 | 20:16 | Complete allocation |
| Mossel Bay | 36 / 37 | 20:16 | Partial count |
| Oudtshoorn | 39 / 39 | 20:16 | Complete allocation |
| Overstrand | 36 / 37 | 20:16 | Partial count |
| Saldanha Bay | 26 / 26 | 20:16 | Complete allocation |
| Stellenbosch | 49 / 50 | 20:16 | Partial count |
| Witzenberg | 41 / 41 | 20:11 | Complete allocation |
Every metro remains partial in this review. The national file reports 13,360 of 23,696 voting districts complete at 20:14 SAST. Its separately timed provincial records sum to 13,325; both figures remain as published rather than being forced to match. District completion measures processing, not turnout or the share of all ballots counted.
Keep the full picture in view
Open a municipality above to move from the current local ballot tables into its wards and voting districts. This article preserves the reviewed evening snapshot. The first-party results views collect separately on the existing 15-minute schedule and retain accepted figures when a source revision needs review.
Sources, evidence and corrections
- Nelson Mandela Bay IEC record, 5 November 20:11 SAST
- City of Tshwane IEC record, 5 November 20:11 SAST
- Buffalo City IEC record, 5 November 20:11 SAST
- City of Johannesburg IEC record, 5 November 20:11 SAST
- City of Cape Town IEC record, 5 November 20:11 SAST
- eThekwini IEC record, 5 November 20:11 SAST
- Mangaung IEC record, 5 November 20:11 SAST
- Makana IEC record, 5 November 20:11 SAST
- Kouga IEC record, 5 November 20:16 SAST
- Enoch Mgijima IEC record, 5 November 20:17 SAST
- Matatiele IEC record, 5 November 20:17 SAST
- King Sabata Dalindyebo IEC record, 5 November 20:17 SAST
- Knysna IEC record, 5 November 20:12 SAST
- Umzimvubu IEC record, 5 November 20:16 SAST
- George IEC record, 5 November 20:12 SAST
- Bitou IEC record, 5 November 20:16 SAST
- Oudtshoorn IEC record, 5 November 20:16 SAST
- Mossel Bay IEC record, 5 November 20:16 SAST
- Drakenstein IEC record, 5 November 20:16 SAST
- Stellenbosch IEC record, 5 November 20:16 SAST
- Saldanha Bay IEC record, 5 November 20:16 SAST
- Langeberg IEC record, 5 November 20:16 SAST
- Witzenberg IEC record, 5 November 20:11 SAST
- Overstrand IEC record, 5 November 20:16 SAST
- Mogale City IEC record, 5 November 20:11 SAST
- Emfuleni IEC record, 5 November 20:16 SAST
- Merafong City IEC record, 5 November 20:16 SAST
- The Msunduzi IEC record, 5 November 19:56 SAST
- uMhlathuze IEC record, 5 November 20:11 SAST
- Midvaal IEC record, 5 November 20:16 SAST
- KwaDukuza IEC record, 5 November 20:12 SAST
- Richmond IEC record, 5 November 20:11 SAST
- City of Mbombela IEC record, 5 November 20:11 SAST
- Emalahleni IEC record, 5 November 20:11 SAST
- Newcastle IEC record, 5 November 20:16 SAST
- Polokwane IEC record, 5 November 20:11 SAST
- Makhado IEC record, 5 November 20:11 SAST
- Govan Mbeki IEC record, 5 November 20:16 SAST
- Ekurhuleni IEC record, 5 November 20:11 SAST
- Rustenburg IEC record, 5 November 20:16 SAST
- Thulamela IEC record, 5 November 20:16 SAST
- Sol Plaatje IEC record, 5 November 20:11 SAST
- Dawid Kruiper IEC record, 5 November 20:11 SAST
- JB Marks IEC record, 5 November 20:16 SAST
- Matjhabeng IEC record, 5 November 20:16 SAST
- Metsimaholo IEC record, 5 November 20:16 SAST
- Matlosana IEC record, 5 November 20:16 SAST
- IEC national processing record, 5 November 20:14 SAST
Evidence reviewed on 5 November 2026. This is a dated editorial report; the connected results views show later accepted records.
