2004 South African general election

General elections were held in South Africa on Wednesday, 14 April 2004. The African National Congress (ANC) of President Thabo Mbeki, which came to power after the end of the apartheid system in 1994, was re-elected with an increased majority.

These were the third elections held since the end of the apartheid era. The South African National Assembly consists of 400 members, elected by proportional representation. 200 members are elected from national party lists, the other 200 are elected from party lists in each of the nine provinces. The President of South Africa is chosen by the National Assembly after each election.

The ANC, which had been in power since 1994, obtained 69.7% of votes cast on the national ballot, theoretically allowing them to change the constitution.

Some 20.6-million people were registered for the 2004 general elections, which was about 2 million more than in 1999. About 76% of registered voters took part in the election, with the ANC receiving 69.7% of the votes cast. However, only 56% of eligible voters (South African citizens of voting age) took part in the 2004 election, which means that the ANC received votes from only about 38% of all eligible voters.

The year 2004 saw an increase in voter abstention and there was at least one high-profile election and registration boycotts campaign, the No Land! No House! No Vote! Campaign. A major electoral issue during the election was the dominance of the ANC; detractors of the ANC, most notably the Democratic Alliance, argued that the party's political dominance posed a threat to the country's democratic institutions and that voters should therefore vote for opposition parties.

The main opposition party, the Democratic Alliance, also obtained an increased percentage on the national ballot, most likely from former supporters of the New National Party (NNP), possibly losing some support to Patricia de Lille's new Independent Democrats. The NNP, a descendant of the ruling party of the apartheid era, collapsed and lost most of their support, dropping from 6.9% in 1999 to 1.7% (it was 20.4% in 1994), many of their supporters being unhappy with their alliance with the ANC. The NNP alliance with the ANC allowed the ANC gain control of the Western Cape and City of Cape Town; following the election the NNP elected to dissolve and merge with the ANC.

The Independent Democrats surprised many observers by obtaining more votes than the New National Party, becoming the fifth largest party. The Inkatha Freedom Party lost some support, including the majority in their stronghold province of Kwazulu-Natal, while the United Democratic Movement also lost support, barely hanging on as opposition in their stronghold, the Eastern Cape. As of 2024 this is the last election in which the ANC made gains in both seats and popular vote.

Events
A corruption scandal dubbed "Oilgate" by the South African media surfaced when it was reported that R11 million was transferred from the state owned PetroSA to help fund the African National Congress' election campaign. Following the election the Mail and Guardian newspaper was controversially gagged from publishing a report on the Oilgate scandal.

Contested seat
When the official results were released, the ACDP successfully challenged the outcome. As a result, one of the two seats AZAPO won initially was handed over to the ACDP.

Provincial legislature results
Elections for the nine provincial parliaments were held at the same time as for the National Assembly.

NCOP seats
The National Council of Provinces (NCOP) consists of 90 members, ten elected by each provincial legislature. The Members of NCOP have to be elected in proportion to the party membership of the provincial legislature.

!colspan="2" style="text-align:left"|Party !style="text-align:left"|Delegate type !EC !FS !G !KZN !L !M !NW !NC !WC !colspan=2|Total !colspan="3" style="text-align:left"|Total !10 !10 !10 !10 !10 !10 !10 !10 !10 !colspan=2|90
 * -style="background:#e9e9e9;"
 * style="width: 4px;background-color:" rowspan=2|
 * style="text-align: left;" scope="row" rowspan=2 | African National Congress
 * style="text-align:left"|Permanent
 * 4
 * 4
 * 4
 * 3
 * 5
 * 5
 * 4
 * 4
 * 2
 * 35
 * rowspan=2|65
 * style="text-align:left"|Special
 * 4
 * 4
 * 3
 * 2
 * 4
 * 4
 * 4
 * 3
 * 2
 * 30
 * style="width: 4px;background-color:" rowspan=2|
 * style="text-align: left;" scope="row" rowspan=2 | Democratic Alliance (South Africa)
 * style="text-align:left"|Permanent
 * 1
 * 1
 * 1
 * 1
 * 1
 * 1
 * 1
 * 1
 * 2
 * 10
 * rowspan=2|12
 * style="text-align:left"|Special
 * 1
 * 1
 * 2
 * style="width: 4px;background-color:" rowspan=2|
 * style="text-align: left;" scope="row" rowspan=2 | Inkatha Freedom Party
 * style="text-align:left"|Permanent
 * 1
 * 2
 * 3
 * rowspan=2|5
 * style="text-align:left"|Special
 * 2
 * 2
 * style="width: 4px;background-color:" rowspan=2|
 * style="text-align: left;" scope="row" rowspan=2 | Independent Democrats
 * style="text-align:left"|Permanent
 * 1
 * 1
 * rowspan=2|2
 * style="text-align:left"|Special
 * 1
 * 1
 * style="text-align:left"|Permanent
 * 1
 * 1
 * colspan=2|2
 * style="text-align:left"|Special
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * 2
 * style="width: 4px;background-color:" rowspan=2|
 * style="text-align: left;" scope="row" rowspan=2 | Independent Democrats
 * style="text-align:left"|Permanent
 * 1
 * 1
 * rowspan=2|2
 * style="text-align:left"|Special
 * 1
 * 1
 * style="text-align:left"|Permanent
 * 1
 * 1
 * colspan=2|2
 * style="text-align:left"|Special
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * 1
 * style="text-align:left"|Permanent
 * 1
 * 1
 * colspan=2|2
 * style="text-align:left"|Special
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * 1
 * colspan=2|1
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * style="text-align:left"|Permanent
 * 1
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * colspan=2|1
 * -style="background:#e9e9e9;"
 * }