City of Johannesburg elections

The City of Johannesburg Metropolitan Municipality council consists of 270 city councilors elected by mixed-member proportional representation. The councillors are divided into two kinds: (a) 135 Ward councillors who have been elected by first-past-the-post voting in 135 wards; and (b) 135 councillors elected from party lists (so that the total number of party representatives is proportional to the number of votes received).

Ward Councillors have more local responsibilities, including setting up Ward Committees in their wards to raise local issues, commenting on town planning and other local matters in their ward, and liaising with local ratepayers' and residents' associations. PR Councillors are usually allocated to more political tasks within their party structures and within the City.

Results
The following table shows the composition of the council after past elections.

December 2000
The following table shows the results of the 2000 election.

By-elections (December 2000–October 2002)
The following by-elections were held to fill vacant ward seats in the period between the election in December 2000 and the floor crossing period in October 2002.

October 2002 floor crossing
In terms of the Eighth Amendment of the Constitution and the judgment of the Constitutional Court in United Democratic Movement v President of the Republic of South Africa and Others, in the period from October 8 to 22, 2002 councillors had the opportunity to cross the floor to a different political party without losing their seats.

In the Johannesburg council, eight councillors crossed from the Democratic Alliance (DA) to the New National Party (NNP), which had formerly been part of the DA, and six councillors crossed from the DA to the African National Congress (ANC). One councillor each from the Inkatha Freedom Party and the Freedom Front Plus crossed to the Christian Democratic Party (CDP). The single councillor of the Azanian People's Organisation crossed to the Black Consciousness Forum.

By-elections (October 2002–August 2004)
The following by-elections were held to fill vacant ward seats in the period between the floor crossing periods in October 2002 and September 2004.

September 2004 floor crossing
Another floor-crossing period occurred on 1–15 September 2004. Seven councillors crossed from the NNP to the ANC, one councillor crossed from the NNP to the Independent Democrats, and one crossed from the CDP to the DA.

By-elections (September 2004–February 2006)
The following by-elections were held to fill vacant ward seats in the period between the floor crossing periods in September 2004 and the election in March 2006.

March 2006
The following table shows the results of the 2006 election.

By-elections (March 2006–August 2007)
The following by-elections were held to fill vacant ward seats in the period between the election in March 2006 and the floor crossing period in September 2007.

September 2007 floor crossing
The final floor-crossing period occurred on 1–15 September 2007; floor-crossing was subsequently abolished in 2008 by the Fifteenth Amendment of the Constitution. In the Johannesburg council two councillors crossed from the Independent Democrats to the Inkatha Freedom Party, one councillor crossed from the Pan Africanist Congress (PAC) to the African People's Convention, and one councillor crossed from the PAC to the African National Congress.

By-elections (September 2007–May 2011)
The following by-elections were held to fill vacant ward seats in the period between the floor crossing period in September 2007 and the election in May 2011.

May 2011
The following table shows the results of the 2011 election.

By-elections (May 2011–August 2016)
The following by-elections were held to fill vacant ward seats in the period between the elections in May 2011 and August 2016.

August 2016
In the election of 3 August 2016 the African National Congress (ANC) won the largest share of the seats on the council with 121 but did not achieve a majority. On 22 August 2016, minority parties voted with the DA to elect its mayoral candidate, Herman Mashaba, as the first Democratic Alliance mayor of Johannesburg. Mashaba appointed a mayoral committee consisting of the DA and the Inkatha Freedom Party (IFP). Mashaba resigned on 27 November 2019. The ANC regional chair Geoff Makhubo was elected mayor on 4 December 2019, marking the return of the ANC to the city's executive since its ousting in 2016. Makhubo died from COVID-19 related complications on 9 July 2021 and Eunice Mgcina was appointed acting mayor.

The following table shows the results of the 2016 election.

By-elections (August 2016–November 2021)
The following by-elections were held to fill vacant ward seats in the period between the elections in August 2016 and November 2021.

By the end of the term of the council, the changes in ward seats meant that the party composition was as follows.

November 2021
The following table shows the results of the 2021 election.

By-elections (November 2021–present)
The following by-elections were held to fill vacant ward seats in the period from the election in November 2021.