We set out to chart the post-Covid attendance recovery in South Africa's top flight. It cannot be charted. Exactly two seasons in the last decade have a per-club attendance table that can be verified against a named source — and everything the public record holds about crowds since 2019/20 is four numbers, three of them from the same fixture.
By Noma Dora, Senior Regulatory & Sports Journalist · Published · Last updated
More than four years covering sport for the regional South African press.
We set out to chart the post-Covid attendance recovery in South Africa's top flight. It cannot be charted. This page publishes what does exist, and states precisely what does not.
In the last ten seasons of South African top-flight football, exactly two have a per-club attendance table that can be verified against a named source: 2016/17 and 2019/20. For 2020/21, 2021/22, 2022/23, 2023/24, 2024/25 and 2025/26 there is no published per-club attendance record at all — not from the league, not from the clubs, not from any source we could check.
Six consecutive seasons of a professional league watched by millions, and the crowd figures are simply not in the public record. That is the finding.
| Season | Per-club table | League average | Highest attendance published |
|---|---|---|---|
| 2016/17 | yes | 5,098 | — |
| 2017/18 | no | no | — |
| 2018/19 | no | no | — |
| 2019/20 | yes | (derivable: 5,816) | 80,808 — Kaizer Chiefs |
| 2020/21 | no | no | — (behind closed doors) |
| 2021/22 | no | no | — |
| 2022/23 | no | no | 90,000 — Soweto derby, published as an estimate |
| 2023/24 | no | no | — |
| 2024/25 | no | no | 100,000 — Orlando Pirates v Kaizer Chiefs, 1 Feb 2025 |
| 2025/26 | no | no | 88,120 — Orlando Pirates 1–1 Kaizer Chiefs |
Everything the public record holds about crowds in the six seasons since 2019/20 is four numbers, three of them from the same fixture. The Soweto derby is measured. The other 236 matches a season are not.
From the Economic Impact Assessment of Professional Soccer in South Africa, which published a per-club average for all sixteen clubs.
| Club | Average attendance |
|---|---|
| Kaizer Chiefs | 13,686 |
| Orlando Pirates | 10,533 |
| Mamelodi Sundowns | 7,600 |
| Chippa United | 7,276 |
| Bloemfontein Celtic | 6,266 |
| Ajax Cape Town | 5,220 |
| Maritzburg United | 4,443 |
| Cape Town City | 4,380 |
| Baroka FC | 4,190 |
| SuperSport United | 3,433 |
| Free State Stars | 3,166 |
| Highlands Park | 2,913 |
| Golden Arrows | 2,702 |
| Polokwane City | 2,280 |
| Bidvest Wits | 1,873 |
| Platinum Stars | 1,614 |
The published league average is 5,098, and the mean of those sixteen club figures is 5,098 exactly — so the table reconciles with its own headline.
| Club | Average | Season total |
|---|---|---|
| Kaizer Chiefs | 16,144 | 242,161 |
| Orlando Pirates | 13,642 | 204,624 |
| Bloemfontein Celtic | 8,572 | 128,578 |
| Black Leopards | 8,449 | 126,735 |
| Mamelodi Sundowns | 6,600 | 98,996 |
| Chippa United | 6,055 | 90,820 |
| SuperSport United | 4,619 | 69,278 |
| Maritzburg United | 4,266 | 63,997 |
| Golden Arrows | 3,919 | 58,784 |
| AmaZulu | 3,912 | 58,679 |
| Highlands Park | 3,443 | 51,641 |
| Cape Town City | 3,240 | 48,597 |
| Stellenbosch | 2,890 | 43,346 |
| Baroka FC | 2,742 | 41,130 |
| Bidvest Wits | 2,344 | 35,162 |
| Polokwane City | 2,221 | 33,310 |
Season total 1,395,838, which over 240 matches is an average of 5,816 — and that figure equals the mean of the sixteen club averages, so this table reconciles too.
One warning about this season, and it is a serious one. Every club's total divided by its average comes to exactly 15 — a complete home programme. But 2019/20 was suspended in March 2020 and completed behind closed doors. A full fifteen home crowds per club cannot be right for that season. Either the source is attributing crowds to matches that had none, or it is doing something with the closed-doors fixtures that it does not state. Treat 2019/20 as indicative, not exact.
Thirteen clubs appear in both tables.
| Club | 2016/17 | 2019/20 | Change |
|---|---|---|---|
| Golden Arrows | 2,702 | 3,919 | +45.0% |
| Bloemfontein Celtic | 6,266 | 8,572 | +36.8% |
| SuperSport United | 3,433 | 4,619 | +34.5% |
| Orlando Pirates | 10,533 | 13,642 | +29.5% |
| Bidvest Wits | 1,873 | 2,344 | +25.1% |
| Highlands Park | 2,913 | 3,443 | +18.2% |
| Kaizer Chiefs | 13,686 | 16,144 | +18.0% |
| Polokwane City | 2,280 | 2,221 | −2.6% |
| Maritzburg United | 4,443 | 4,266 | −4.0% |
| Mamelodi Sundowns | 7,600 | 6,600 | −13.2% |
| Chippa United | 7,276 | 6,055 | −16.8% |
| Cape Town City | 4,380 | 3,240 | −26.0% |
| Baroka FC | 4,190 | 2,742 | −34.6% |
Seven clubs up, six down. The league average rose 14.1%, from 5,098 to 5,816 — but that rise is almost entirely Chiefs and Pirates, who between them added 5,567 to the per-match total while the other eleven common clubs netted a much smaller gain.
The most striking figure in either table is the concentration. In 2019/20 Kaizer Chiefs and Orlando Pirates averaged 16,144 and 13,642; the median club averaged 3,916. The two Soweto clubs drew roughly four times the crowd of a typical Premiership club, and every attendance record still in the public domain for the last six seasons is a match between them.
The Premier Soccer League does not publish attendance. Its own Match Centre carries line-ups, scorers, cards and substitutions for every match, minute by minute — and no crowd figure. Clubs do not publish gate numbers. The two tables above exist because a consultancy commissioned an economic impact study in one season, and because a results database recorded gates in another.
That is not a South African peculiarity so much as a South African cost. Attendance is the single most-used indicator of a league's health, and for six seasons nobody — journalist, sponsor, broadcaster, club, supporter — can say whether South African crowds recovered from the pandemic, because the number does not exist.
The change that would fix it is small. The PSL already collects a crowd figure for every match: stadium operators count through the turnstiles, and the league's own match commissioner reports record it. Adding one field to the Match Centre page that already carries eleven substitutions would create the series in a single season.
Until then, this page will stay short.
What is the average attendance in the PSL? The last verifiable league average is 5,098 per match in 2016/17. A per-club table for 2019/20 works out at 5,816, though that season was disrupted by the pandemic and should be treated as indicative. No league average has been published for any season since.
Which South African club has the biggest crowds? Kaizer Chiefs, in both seasons with a full record — 13,686 in 2016/17 and 16,144 in 2019/20. Orlando Pirates are second in both. The two clubs draw roughly four times the crowd of a median Premiership club.
What is the record attendance for a PSL match? The highest figure in the recent published record is 100,000 for Orlando Pirates against Kaizer Chiefs on 1 February 2025. The 2025/26 derby drew 88,120 and a 2022/23 derby is recorded at an estimated 90,000. All of the largest published crowds are Soweto derbies.
Did PSL attendance recover after Covid? Nobody can say. There is no published per-club attendance record for any season from 2020/21 to 2025/26, so the recovery curve cannot be drawn. The only post-pandemic crowd figures in the public record are single showpiece matches.
Where does the PSL publish attendance figures? It does not. The league's Match Centre publishes a full minute-by-minute event feed for every match — goals, cards, substitutions — with no crowd figure. The two tables on this page come from an economic impact study and a results database, not from the league.
Why does this page cover only two seasons? Because only two seasons can be verified. Publishing an estimated series for the missing six would produce exactly the kind of number this page exists to point out is missing.
Period covered: The ten South African top-flight seasons from 2016/17 to 2025/26. Full per-club attendance tables exist for two of them: 2016/17 and 2019/20.
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, "PSL attendance figures, and the gap in the record", last updated 1 August 2026. https://betafr.co.za/statistics/psl-attendance
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.
Every large published crowd in the recent record is a Soweto derby — all 88 itemised meetings are in our Soweto derby database, which carries attendance for 45 of them. What it costs to be in one of those crowds is on cost of attending a match, and how far supporters have to travel to get there on stadium accessibility.