South Africa has one derby everybody counts and three that nobody does. Here are the Tshwane, Durban and Cape Town derbies — 54 itemised meetings, every one with a season and a score. Home advantage, worth about +0.40 points per game across the league, is absent from all three: the Durban derby has produced five home wins and fourteen away wins in twenty-five meetings.
By Noma Dora, Senior Regulatory & Sports Journalist · Published · Last updated
More than four years covering sport for the regional South African press.
Home advantage is worth about +0.40 points per game across the Betway Premiership. In the Durban derby it is worth nothing at all: twenty-five meetings have produced five home wins and fourteen away wins.
South Africa has one derby everybody counts and three that nobody does. The Soweto derby has a dedicated database with every one of its 88 recorded meetings itemised. The Tshwane, Durban and Cape Town derbies have no equivalent — and, as we set out below, no complete public record exists for any of them.
This page is what can be verified: 54 meetings itemised from the league's own season records, with an explicit account of the sixteen seasons that cannot be reached.
| Derby | Clubs | Meetings | Record | Goals | Seasons covered |
|---|---|---|---|---|---|
| Tshwane | Mamelodi Sundowns v SuperSport United | 25 | 13–6–6 to Sundowns | 35–20 | 2008/09–2024/25 |
| Durban | AmaZulu v Golden Arrows | 25 | 11–6–8 to AmaZulu | 27–23 | 2008/09–2025/26 |
| Cape Town | Cape Town City v Ajax Cape Town / Cape Town Spurs | 4 | 4–0–0 to Cape Town City | 8–1 | 2016/17–2023/24 |
Ajax Cape Town and Cape Town Spurs are the same club under two names — Ajax were renamed in 2020 — so their meetings with Cape Town City are counted as one rivalry rather than two.
Across the four validated seasons on our home and away form page, the home side wins 42.0% of Premiership matches and the away side 28.7%. In these three derbies the pattern disappears.
| Derby | Meetings | Home wins | Draws | Away wins | Goals per match |
|---|---|---|---|---|---|
| Tshwane | 25 | 9 (36.0%) | 6 (24.0%) | 10 (40.0%) | 2.20 |
| Durban | 25 | 5 (20.0%) | 6 (24.0%) | 14 (56.0%) | 2.00 |
| Cape Town | 4 | 2 | 0 | 2 | 2.25 |
| League baseline | 930 | 42.0% | 29.2% | 28.7% | 2.04 |
The Durban derby has produced almost three times as many away wins as home wins. Fourteen to five, across twenty-five meetings and eighteen years.
Read that with one caveat firmly attached, because it may be most of the explanation: AmaZulu and Golden Arrows have both moved between grounds repeatedly in this period, and both have played home fixtures at Moses Mabhida, Kings Park, Princess Magogo and Sugar Ray Xulu at various times. In a derby where the two clubs sometimes share a stadium, "home" is a fixture-list label and not necessarily a different place. We do not have a verified venue for every one of these meetings, so we report the split and decline to explain it.
The Tshwane derby carries no such complication — Sundowns and SuperSport have distinct grounds throughout — and it still shows more away wins than home wins.
Both derbies also draw less often than an ordinary league match, at 24.0% against a league rate of 29.2%. That is the opposite of the Soweto derby, which draws far more often than average.
Twenty-five itemised league meetings, 2008/09 to 2024/25. Sundowns have won thirteen, SuperSport six, with six drawn, and outscored them 35–20.
The two clubs did not meet in the league in 2025/26, which is why the itemised record stops in 2024/25. In July 2025 Siwelele FC purchased the Premiership status of SuperSport United, three-time champions, and SuperSport left the division. On the public record this rivalry has, for now, ended — and it ended without either published all-time total ever being reconciled.
The scoring gap is wider than the results gap. Sundowns average 1.40 goals a meeting to SuperSport's 0.80. Two of the twenty-five finished goalless.
Twenty-five meetings, AmaZulu eleven wins to Golden Arrows' eight, six drawn, and 27 goals to 23 — the tightest head-to-head of the three by every measure. It is also the only one of the three still being played: the most recent meetings fall in 2025/26.
The Cape Town derby barely exists in the league record, and that is the finding rather than a shortcoming of ours.
| Season | Fixture | Score |
|---|---|---|
| 2016/17 | Ajax Cape Town v Cape Town City | 0–2 |
| 2016/17 | Cape Town City v Ajax Cape Town | 1–0 |
| 2023/24 | Cape Town City v Cape Town Spurs | 3–1 |
| 2023/24 | Cape Town Spurs v Cape Town City | 0–2 |
Cape Town City have won all four, scoring eight and conceding one. Four matches is far too small a sample to call it a pattern, and we are not calling it one.
The reason the list is this short is structural: the two clubs have rarely been in the top flight together. Ajax were relegated in 2017/18, and their successor Cape Town Spurs returned for a single season in 2023/24 before going down again. Cape Town City were themselves relegated at the end of 2024/25, so as of 2026/27 the city has no Premiership club at all and the fixture cannot be played. South Africa's second city has never sustained two simultaneous Premiership clubs long enough to build a derby record.
Stellenbosch are sometimes described as Cape Town City's local rivals and are deliberately not counted here. Stellenbosch is roughly 50 km from Cape Town, in the Cape Winelands rather than the metro, and treating that fixture as a city derby would inflate the count with matches most supporters of neither club would recognise as one. Their meetings are in our home and away dataset for anyone who wants them.
This is the part of this page most worth a journalist's attention.
Two published all-time counts of the Tshwane derby exist. They were published one day apart, in November 2023, and they disagree on every single figure.
| Source | Published | Meetings | Sundowns | Draws | SuperSport | Sundowns goals | SuperSport goals |
|---|---|---|---|---|---|---|---|
| SuperSport | 27 Nov 2023 | 81 | 44 | 15 | 22 | 124 | 83 |
| The PSL's own site | 28 Nov 2023 | 81 | 43 | 16 | 21 | 121 | 82 |
SuperSport's figures are at least internally consistent: 44 + 15 + 22 = 81.
The league's own do not add up. 43 + 16 + 21 = 80, against a stated 81 meetings. Its other split — 63 league meetings plus 17 cup meetings — also gives 80. The PSL's own derby-in-numbers article is one match short of itself, in two different ways.
We report both as published and fold neither into our tables, because neither can be checked. No itemised list underlies either figure. That is the whole problem: our 25 meetings are every one we can name, date and score from the public record, and the published totals are roughly three times larger with nothing behind them a reader can inspect.
The Soweto derby database is complete for all thirty Premiership seasons because Wikipedia carries a dedicated Soweto derby article with an itemised all-time results table. We checked whether an equivalent exists for any other South African derby.
None does. Tshwane derby, Pretoria derby, Cape Town derby, Durban derby, Mother City derby and KwaZulu-Natal derby all return nothing.
So these meetings have to be assembled from the season articles themselves, and only fourteen of the thirty Premiership seasons carry a results grid. The sixteen that do not — 1996/97 through 2007/08, plus 2013/14, 2014/15, 2015/16 and 2017/18 — have no match-level record on that source at all, only a final table. Meetings played in those seasons are missing here and cannot be recovered from it.
That is why our Tshwane count is 25 and the published all-time count is around 81. The gap is not disagreement; it is coverage. We would rather publish 25 meetings anyone can verify than a larger number nobody can.
This page is a living record. It grows whenever a season with a results grid is added, and it would grow considerably if the missing sixteen seasons were ever itemised — by the league, by the clubs, or from the contemporary press.
Who has won more Tshwane derbies, Sundowns or SuperSport?
Mamelodi Sundowns, in both the verifiable and the published record. Across the 25 league meetings we can itemise, Sundowns lead 13–6 with six draws. Published all-time totals, which we could not verify, put it at 43 or 44 wins to 21 or 22.
Is there a Cape Town derby in the PSL?
Barely. Cape Town City and Ajax Cape Town — later Cape Town Spurs — have met four times in the league, in 2016/17 and 2023/24, and Cape Town City won all four. The clubs have rarely been in the top flight at the same time.
Why is the Soweto derby record so much more complete than these?
Because it has a dedicated itemised results table in the public record and the others do not. That single difference in sourcing, not any difference in the fixtures themselves, is what separates our 88-meeting Soweto database from the 54 meetings here.
Do derbies produce more draws?
Not these ones. The Tshwane and Durban derbies both draw 24.0% of the time against a league average of 29.2%. The Soweto derby is the outlier in the other direction.
Period covered: 54 South African Premiership league meetings across the fourteen seasons from 2008/09 to 2025/26 whose season article carries an itemised results grid. Sixteen of the thirty Premiership seasons carry no match-level record and are absent.
Every figure on this page is in the files below, so you can check the arithmetic yourself. Released under CC BY 4.0 — free to reuse, including commercially, with attribution.
Journalists and researchers are welcome to use this data. Please credit Bet AFR and link to this page — that link is the only thing we ask for in return.
Bet AFR, "Tshwane, Durban and Cape Town derby records", last updated 3 August 2026. https://betafr.co.za/statistics/psl-other-derbies
Licensed CC BY 4.0 (licence terms). Spotted an error, or have a better source? Tell us — corrections are published with the date they were made.
The derby that does have a complete Premiership-era record is in our Soweto derby database — 88 itemised meetings, and the reason this page cannot match it. The league-wide home and away baseline these derbies are measured against is on PSL home and away form, and the travel behind every away record on PSL travel load.