The Cycling SA and UCI calendars both reflect six SA MTB Cup Series races for XCO in 2019.
- 2 February – Bloemendal [Bellville]
- 3 February – Bloemendal [Bellville]
- 30 March – Happy Valley [Bloemfontein]
- 4 May – Mankele [Nelspruit]
- 15 June – Cascades [Pietermaritzburg]
- 16 June – Cascades [Pietermaritzburg]
All races are Category 1 races for Elites and Juniors while the Junior races on 2 February and the 15 June form part of the UCI Junior World Series.
South Africa is the only National Federation internationally hosting six Category 1 events (there are eight Swiss Cup races, but the series is privately owned). The reasoning behind this is to ensure a maximum point haul for South Africa in the qualifying process for the Olympic Games in Tokyo in 2020 and to ensure that our riders obtain favourable rankings, and therefore starting positions, in UCI World Cups and other international races. (It should be remembered that it is the country that qualifies for the Olympic Games in cycling and not the individual riders.)
SA Cups #1 and #2 together with SA Cups #5 and #6 are back-to-back race events on the Saturday and Sunday. Hosting six Category 1 races is an extremely expensive exercise for Cycling SA and local organisers. The back-to-back model is set to reduce organisational costs for the events as well as reducing travel costs for riders. This programme has been used extensively in other countries with substantially positive results.
SA Cups #2 and #6 will feature UCI Categories only, while the balance of the SA Cups will incorporate both UCI and non-UCI categories. This will result in six UCI events and four non-UCI events. For the purposes of the SA Cup Series, the best five of six results will count for overall positions in the UCI events for the series, while all four results will count in non-UCI events.