Checked 16 October 2026
Where the facts about Ndwedwe come from
Every fact on the Ndwedwe page, with the sources we used. We save a copy of each source on the day we read it.
Which party controls the council?
Dated reports
As of 16 Oct 2026: The national government contact directory lists Cllr Sam Mfeka as executive mayor (a mayor who makes many of the council's decisions).
South African Government. Page is undated.
Where to look: contact details, 'Executive Mayor' line (page undated; accessed 2026-10-16)
As of 31 Aug 2025: The council had 37 seats, according to the municipality's draft 2024/25 annual report. The ANC had 19 seats, the IFP 11, the EFF 4, the DA 1, the AIC 1 and African Freedom Revolution 1. Samuel Zwengithini Mfeka of the ANC and ward 8 was mayor. A ward is an area with its own councillor. Zandile Sandy Thoolsi of the ANC was deputy mayor. Roman Mduduzi Cele of the ANC and ward 3 was speaker.
Ndwedwe Local Municipality. Published 31 August 2025.
Where to look: Chapter 2, 'The Municipal Council': table 'Representation of political parties', ward councillor table and PR councillor table (pp. 63-64)
As of 30 Jun 2024: Cllr S.Z. Mfeka was mayor, according to the municipality's 2023/24 annual report. It does not state the party. The report was filed with National Treasury in December 2025.
Ndwedwe Local Municipality. Page is undated.
Where to look: page 9, mayor's foreword heading; report period stated on page 17
As of 24 Nov 2021: At the first council meeting, the ANC's Mduduzi Cele was elected speaker. The ANC's Sam (Samuel) Mfeka was elected mayor. The ANC's Zandile Siwetu was elected deputy mayor. The ANC held 19 of the 37 seats.
Daily News. Published 24 November 2021.
Where to look: Paragraphs 2-3, 5 and 11 ('The ANC's Mfeka was elected as mayor...')
How were the seats split?
The 2021 result
Who won the 37 seats in 2021.
Electoral Commission of South Africa (IEC). Page is undated.
Where to look: p. 3 of 3, seat table, Total Party Seats column
Every party
The seats now, by party (ward seats and party seats). African National Congress: 19 (16 ward, 3 party). Inkatha Freedom Party: 11 (3 ward, 8 party). Economic Freedom Fighters: 4 (0 ward, 4 party). African Freedom Revolution: 1 (0 ward, 1 party). African Independent Congress: 1 (0 ward, 1 party). Democratic Alliance: 1 (0 ward, 1 party).
Electoral Commission of South Africa (IEC). Published 24 June 2026.
Where to look: winning party per ward for every by-election since 2021 (dashboard data files: MapsJason/2021/ByElections.js and LoadCouncillorsService); read 2026-10-18
Electoral Commission of South Africa (IEC). Published 9 November 2021.
Where to look: ward councillor rows for this council (party per ward elected in 2021)
The seats now
Who holds the 37 seats now, counted up to 24 Jun 2026. How we count: This is our own count, not an official IEC table. We start with the 2021 party seats from the IEC. Then we add the party that last won each ward, in 2021 or in a by-election. Party seats stay with their party, and councillors can't switch parties. So only ward by-elections change these totals. An empty seat is counted with the party that last held it. The IEC lists by-elections on 5 Oct 2022, but it does not show who won them. So any ward that changed hands that day is not counted.
Electoral Commission of South Africa (IEC). Published 24 June 2026.
Where to look: winning party per ward for every by-election since 2021 (dashboard data files: MapsJason/2021/ByElections.js and LoadCouncillorsService); read 2026-10-18
Electoral Commission of South Africa (IEC). Published 9 November 2021.
Where to look: ward councillor rows for this council (party per ward elected in 2021)
What the official records say
Audit result
The Auditor-General gave Ndwedwe an unqualified audit opinion with findings for 2024-25. It got the same result in 2023-24.
Auditor-General of South Africa. Published 24 June 2026.
Where to look: 'Audit outcome for 2024-25' box and the change from 2023-24 under it (audit of separate financial statements, finalised by 30 April 2026)
Nothing matches. Try another word.