The season began on 9 March and concluded on 2 November.[2]
Policy regarding foreign players and U-23 domestic players was modified in this season. The same as the previous two seasons, at least one domestic player who is under the age of 23 (born on or after 1 January 1996) must be in the starting eleven. However, the total number of foreign players appearing in matches is no longer related to the total number of U-23 domestic players. A club can register three foreign players at most in the same time and use two foreign players at most in a match. On the other hand, at least two U-23 domestic players must be used in a match. In addition, if there are U23 players who have been called up by the national teams at all levels, the number of U-23 domestic players fielded will be reduced accordingly.[3]
In order to expand the number of teams from 16 to 18 in 2020 season, this season will only directly relegate 1 team instead of 2 teams while 2 teams will enter relegation playoffs.[3]
A total of four foreign players can be registered in a season and the number of foreign players is limited to three per CL1 team in the same time. Maximum of two foreign players can be fielded in one match.[3]
Players name in bold indicates the player is registered during the mid-season transfer window.
Source: CFA Rules for classification: 1) Points; 2) Head-to-head points; 3) Head-to-head goal difference; 4) Head-to-head goals scored; 5) Reserve league points; 6) Goal difference; 7) Goals scored; 8) Disciplinary points (1 point for each yellow card, 3 points for each red card); 9) Draw (C) Champions; (D) Disqualified; (P) Promoted; (R) Relegated Notes:
^ abGuizhou Hengfeng is ahead of Heilongjiang Lava Spring on head-to-head goal difference: Guizhou Hengfeng 2–0 Heilongjiang Lava Spring, Heilongjiang Lava Spring 2–1 Guizhou Hengfeng.
^ abZhejiang Greentown is ahead of Inner Mongolia Zhongyou on head-to-head points: Zhejiang Greentown 2–0 Inner Mongolia Zhongyou, Inner Mongolia Zhongyou 1–1 Zhejiang Greentown.
^Guangdong South China Tiger was dissolved after failing to submit the salary & bonus confirmation form.[31]
^ abNantong Zhiyun is ahead of Xinjiang Tianshan Leopard on head-to-head points: Nantong Zhiyun 4–2 Xinjiang Tianshan Leopard, Xinjiang Tianshan Leopard 2–2 Nantong Zhiyun.
^Sichuan Longfor was dissolved after failing to submit the salary & bonus confirmation form.[31]
^Shanghai Shenxin was dissolved after failing to submit the salary & bonus confirmation form.[31]
Source: CFA Legend: Blue = home team win; Yellow = draw; Red = away team win. For upcoming matches, an "a" indicates there is an article about the rivalry between the two participants.
Positions by round
To preserve chronological evolvements, any postponed matches are not included to the round at which they were originally scheduled, but added to the full round they were played immediately afterwards. For example, if a match is scheduled for round 7, but then played between rounds 8 and 9, it will be added to the standings for round 8.
Updated to games played on November 2nd, 2019 Source: League attendance Notes: † Teams played previous season in CSL.
†† Teams played previous season in CL2.