# 2020 Campeonato Brasileiro Série D

The 2020 Campeonato Brasileiro Série D was a football competition held in Brazil, equivalent to the fourth division. The competition was originally scheduled to begin on 3 May and end on 22 November, however due to the COVID-19 pandemic the tournament was rescheduled for 6 September 2020 – 6 February 2021.
Sixty-eight teams competed in the tournament. Sixty-four teams qualified from their state leagues and cups, and four relegated from the 2019 Campeonato Brasileiro Série C (ABC, Atlético Acreano, Globo and Luverdense). Luverdense declined to participate being replaced by Sinop.
The match Guarany de Sobral v Salgueiro, scheduled for 20 September 2020 (Group A3 1st round), was postponed after 12 Guarany de Sobral players tested positive for COVID-19.
In the Group A8 12th round, (14 November 2020), São Caetano players refused to play their away match against Marcílio Dias in protest over unpaid wages. Marcílio Dias was awarded a 3–0 win by forfeit.
Altos, Floresta, Mirassol, and Novorizontino qualified for the semi-finals and were promoted to the 2021 Campeonato Brasileiro Série C.
In the finals, Mirassol defeated Floresta 2–0 on aggregate to win their first title.

## Format changes

A preliminary stage was played during this season. In the preliminary stage, eight teams were drawn into four ties, with the winners of each tie advancing to the group stage. The group stage had 64 teams, 60 teams qualified directly and four teams decided in the preliminary stage. The 64 teams were drawn into eight groups of eight teams each. The top four teams of each group qualified for the round of 32.

## Teams
### Federation ranking

The number of teams from each state was chosen based on the CBF State Ranking.
| Rank | Federation | Coeff. | Teams | Notes |
| 1 | São Paulo | 84,166 | 4 | |
| 2 | Rio de Janeiro | 50,130 | 3 | |
| 3 | Minas Gerais | 45,014 | 3 | |
| 4 | Rio Grande do Sul | 42,149 | 3 | |
| 5 | Paraná | 34,612 | 3 | |
| 6 | Santa Catarina | 31,777 | 3 | |
| 7 | Bahia | 21,631 | 3 | |
| 8 | Goiás | 19,856 | 3 | |
| 9 | Pernambuco | 19,369 | 3 | |
| 10 | Ceará | 16,853 | 2 | |
| 11 | Alagoas | 11,986 | 2 | |
| 12 | Pará | 9,746 | 2 | |
| 13 | Mato Grosso | 9,100 | 2 | +1 (C) |
| 14 | Maranhão | 7,643 | 2 | |
| 15 | Rio Grande do Norte | 6,801 | 2 | +2 (C) |
| 16 | Paraíba | 5,313 | 2 | |
| 17 | Sergipe | 4,128 | 2 | |
| 18 | Acre | 3,305 | 2 | +1 (C) |
| 19 | Piauí | 2,573 | 2 | |
| 20 | Amazonas | 2,245 | 2 | |
| 21 | Distrito Federal | 2,237 | 2 | |
| 22 | Mato Grosso do Sul | 2,059 | 2 | |
| 23 | Espírito Santo | 1,910 | 2 | |
| 24 | Tocantins | 1,876 | 2 | |
| 25 | Rondônia | 1,784 | 2 | |
| 26 | Amapá | 1,770 | 2 | |
| 27 | Roraima | 1,739 | 2 | |

### Participating teams

Teams in italic played the preliminary stage. The teams were:
| Federation | Team | Home city | Qualification method |
| Acre | Galvez | Rio Branco | 2019 Campeonato Acriano runners-up |
| Acre | Rio Branco | Rio Branco | 2019 Campeonato Acriano 3rd place |
| Acre | Atlético Acreano | Rio Branco | 2019 Série C Group B 10th place |
| Alagoas | Coruripe | Coruripe | 2019 Campeonato Alagoano 3rd place |
| Alagoas | Jaciobá | Pão de Açúcar | 2019 Campeonato Alagoano 4th place |
| Amapá | Santos | Macapá | 2019 Campeonato Amapaense champions |
| Amapá | Ypiranga | Macapá | 2019 Campeonato Amapaense runners-up |
| Amazonas | Fast Clube | Manaus | 2019 Campeonato Amazonense runners-up |
| Amazonas | Nacional-AM | Manaus | 2019 Campeonato Amazonense 3rd place |
| Bahia | Bahia de Feira | Feira de Santana | 2019 Campeonato Baiano runners-up |
| Bahia | Atlético de Alagoinhas | Alagoinhas | 2019 Campeonato Baiano 3rd place |
| Bahia | Vitória da Conquista | Vitória da Conquista | 2019 Campeonato Baiano 4th place |
| Ceará | Floresta | Fortaleza | 2019 Campeonato Cearense 3rd place |
| Ceará | Guarany de Sobral | Sobral | 2019 Campeonato Cearense 4th place |
| Espírito Santo | Vitória | Vitória | 2019 Campeonato Capixaba champions |
| Espírito Santo | Real Noroeste | Águia Branca | 2019 Copa Espírito Santo champions |
| Federal District | Gama | Gama | 2019 Campeonato Brasiliense champions |
| Federal District | Brasiliense | Taguatinga | 2019 Campeonato Brasiliense runners-up |
| Goiás | Goiânia | Goiânia | 2019 Campeonato Goiano 4th place |
| Goiás | Goianésia | Goianésia | 2019 Campeonato Goiano 6th place |
| Goiás | Aparecidense | Aparecida de Goiânia | 2019 Campeonato Goiano 7th place |
| Maranhão | Moto Club | São Luís | 2019 Campeonato Maranhense runners-up |
| Maranhão | Juventude Samas | São Mateus do Maranhão | 2019 Copa Federação Maranhense de Futebol champions |
| Mato Grosso | CEOV | Várzea Grande | 2019 Campeonato Mato-Grossense runners-up |
| Mato Grosso | União Rondonópolis | Rondonópolis | 2019 Campeonato Mato-Grossense 3rd place |
| Mato Grosso | Sinop | Sinop | 2019 Campeonato Mato-Grossense 5th place |
| Mato Grosso do Sul | Águia Negra | Rio Brilhante | 2019 Campeonato Sul-Mato-Grossense champions |
| Mato Grosso do Sul | Aquidauanense | Aquidauana | 2019 Campeonato Sul-Mato-Grossense runners-up |
| Minas Gerais | Caldense | Poços de Caldas | 2019 Campeonato Mineiro 6th place |
| Minas Gerais | Tupynambás | Juiz de Fora | 2019 Campeonato Mineiro 8th place |
| Minas Gerais | Villa Nova | Nova Lima | 2019 Campeonato Mineiro 9th place |
| Pará | Independente | Tucuruí | 2019 Campeonato Paraense runners-up |
| Pará | Bragantino | Bragança | 2019 Campeonato Paraense 3rd place |
| Paraíba | Campinense | Campina Grande | 2019 Campeonato Paraibano runners-up |
| Paraíba | Atlético Cajazeirense | Cajazeiras | 2019 Campeonato Paraibano 3rd place |
| Paraná | Toledo | Toledo | 2019 Campeonato Paranaense runners-up |
| Paraná | FC Cascavel | Cascavel | 2019 Campeonato Paranaense 7th place |
| Paraná | Nacional-PR | Rolândia | 2019 Taça FPF champions |
| Pernambuco | Salgueiro | Salgueiro | 2019 Campeonato Pernambucano first stage 4th place |
| Pernambuco | Central | Caruaru | 2019 Campeonato Pernambucano first stage 5th place |
| Pernambuco | Afogados | Afogados da Ingazeira | 2019 Campeonato Pernambucano first stage 6th place |
| Piauí | River | Teresina | 2019 Campeonato Piauiense champions |
| Piauí | Altos | Altos | 2019 Campeonato Piauiense runners-up |
| Rio de Janeiro | Bangu | Rio de Janeiro | 2019 Campeonato Carioca 3rd place |
| Rio de Janeiro | Cabofriense | Cabo Frio | 2019 Campeonato Carioca 6th place |
| Rio de Janeiro | Portuguesa | Rio de Janeiro | 2019 Copa Rio runners-up |
| Rio Grande do Norte | América de Natal | Natal | 2019 Campeonato Potiguar champions |
| Rio Grande do Norte | Potiguar de Mossoró | Mossoró | 2019 Campeonato Potiguar 4th place |
| Rio Grande do Norte | ABC | Natal | 2019 Série C Group A 9th place |
| Rio Grande do Norte | Globo | Ceará-Mirim | 2019 Série C Group A 10th place |
| Rio Grande do Sul | Caxias | Caxias do Sul | 2019 Campeonato Gaúcho 3rd place |
| Rio Grande do Sul | São Luiz | Ijuí | 2019 Campeonato Gaúcho 4th place |
| Rio Grande do Sul | Pelotas | Pelotas | 2019 Copa FGF champions |
| Rondônia | Vilhenense | Vilhena | 2019 Campeonato Rondoniense champions |
| Rondônia | Ji-Paraná | Ji-Paraná | 2019 Campeonato Rondoniense runners-up |
| Roraima | São Raimundo | Boa Vista | 2019 Campeonato Roraimense champions |
| Roraima | Baré | Boa Vista | 2019 Campeonato Roraimense runners-up |
| Santa Catarina | Marcílio Dias | Itajaí | 2019 Campeonato Catarinense 5th place |
| Santa Catarina | Joinville | Joinville | 2019 Campeonato Catarinense 7th place |
| Santa Catarina | Tubarão | Tubarão | 2019 Campeonato Catarinense 8th place |
| São Paulo | Novorizontino | Novo Horizonte | 2019 Campeonato Paulista 6th place |
| São Paulo | Ferroviária | Araraquara | 2019 Campeonato Paulista 7th place |
| São Paulo | Mirassol | Mirassol | 2019 Campeonato Paulista 12th place |
| São Paulo | São Caetano | São Caetano do Sul | 2019 Copa Paulista champions |
| Sergipe | Freipaulistano | Frei Paulo | 2019 Campeonato Sergipano champions |
| Sergipe | Itabaiana | Itabaiana | 2019 Campeonato Sergipano runners-up |
| Tocantins | Palmas | Palmas | 2019 Campeonato Tocantinense champions |
| Tocantins | Tocantinópolis | Tocantinópolis | 2019 Campeonato Tocantinense runners-up |
    $^a$ CRAC, 2019 Campeonato Goiano 5th place, declined to participate in the Série D on 22 July 2020, being replaced by Aparecidense (2019 Campeonato Goiano 7th place).
    $^b$ Luverdense, 2019 Série C Group B 9th place, declined to participate in the Série D on 14 August 2020, being replaced by Sinop (2019 Campeonato Mato-Grossense 5th place).
    $^c$ Patrocinense, 2019 Campeonato Mineiro 7th place, declined to participate in the Série D on 12 March 2020, being replaced by Villa Nova (2019 Campeonato Mineiro 9th place).
    $^d$ Red Bull Brasil, 2019 Campeonato Paulista 5th place, declined to participate in the Série D on 11 December 2019, being replaced by Mirassol (2019 Campeonato Paulista 12th place).
    $^e$ Associação Desportiva Frei Paulistano was renamed as Associação Desportiva Freipaulistano on 22 April 2019.

## Competition format

In the preliminary stage, eight teams from the worst ranked federations in the CBF ranking were drawn into four ties, with the winners of each tie advancing to the group stage. In the group stage, the remaining 60 teams and the 4 four teams qualified from the preliminary stage were divided into eight groups of eight organized regionally. Top four teams qualified for the round of 32. From the round of 32 on the competition was played as a knock-out tournament with each round contested over two legs.

## Preliminary stage

It was played from 6 to 13 September 2020. The lowest-seeded teams from the eight worst ranked federations in the 2020 CBF ranking (Amazonas, Distrito Federal, Mato Grosso do Sul, Espírito Santo, Tocantins, Rondônia, Amapá, and Roraima) competed to decide four places in the group stage.
Each tie was played on a home-and-away two-legged basis. If tied on aggregate, the away goals rule would not be used, extra time would not be played, and the penalty shoot-out would be used to determine the winners (Regulations Article 18).

### Matches

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Ji-Paraná | 4–2 | Nacional-AM | 2–1 | 2–1 |
| Baré | 4–0 | Ypiranga | 3–0 | 1–0 |
| Real Noroeste | 6–2 | Aquidauanense | 3–1 | 3–1 |
| Tocantinópolis | 1–4 | Brasiliense | 1–0 | 0–4 |

## Group stage

In the group stage, each group played on a home-and-away round-robin basis. The teams were ranked according to points (3 points for a win, 1 point for a draw, and 0 points for a loss). If tied on points, the following criteria would be used to determine the ranking: 1. Wins; 2. Goal difference; 3. Goals scored; 4. Head-to-head (if the tie was only between two teams); 5. Fewest red cards; 6. Fewest yellow cards; 7. Draw in the headquarters of the Brazilian Football Confederation (Regulations Article 13).
The top four teams qualified for the round of 32.

### Group A1

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | BRA | FAS | GAL | RIO | IND | JIP | VIL | ATL |
| 1 | Bragantino | 14 | 8 | 3 | 3 | 28 | 15 | +13 | 27 | Advance to round of 32 | | 3–1 | 2–0 | 2–1 | 2–0 | 0–0 | 3–1 | 4–0 |
| 2 | Fast Clube | 14 | 7 | 5 | 2 | 26 | 13 | +13 | 26 | Advance to round of 32 | 2–1 | | 1–1 | 0–0 | 4–0 | 3–2 | 1–1 | 1–0 |
| 3 | Galvez | 14 | 7 | 3 | 4 | 26 | 19 | +7 | 24 | Advance to round of 32 | 0–3 | 1–5 | | 0–0 | 7–1 | 3–1 | 2–1 | 2–0 |
| 4 | Rio Branco | 14 | 5 | 6 | 3 | 17 | 14 | +3 | 21 | Advance to round of 32 | 1–1 | 0–2 | 1–1 | | 2–1 | 4–1 | 2–1 | 0–0 |
| 5 | Independente | 14 | 5 | 2 | 7 | 20 | 30 | −10 | 17 | | 3–2 | 1–0 | 0–2 | 3–2 | | 1–2 | 2–1 | 4–1 |
| 6 | Ji-Paraná | 14 | 4 | 4 | 6 | 16 | 21 | −5 | 16 | | 4–0 | 0–0 | 0–4 | 1–2 | 1–0 | | 1–0 | 1–1 |
| 7 | Vilhenense | 14 | 2 | 5 | 7 | 15 | 22 | −7 | 11 | | 0–3 | 1–4 | 4–0 | 0–0 | 1–1 | 1–0 | | 1–1 |
| 8 | Atlético Acreano | 14 | 0 | 8 | 6 | 15 | 29 | −14 | 8 | | 2–2 | 2–2 | 0–3 | 1–2 | 3–3 | 2–2 | 2–2 | |

### Group A2

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | ALT | RIV | MOT | JUV | SAO | BAR | SAN | SIN |
| 1 | Altos | 14 | 10 | 0 | 4 | 27 | 16 | +11 | 30 | Advance to round of 32 | | 3–1 | 3–1 | 3–1 | 0–1 | 2–1 | 2–0 | 2–1 |
| 2 | River | 14 | 9 | 2 | 3 | 22 | 12 | +10 | 29 | Advance to round of 32 | 1–2 | | 2–1 | 1–0 | 1–0 | 2–2 | 3–1 | 2–0 |
| 3 | Moto Club | 14 | 7 | 4 | 3 | 22 | 15 | +7 | 25 | Advance to round of 32 | 2–1 | 2–0 | | 2–0 | 1–1 | 1–0 | 2–0 | 3–0 |
| 4 | Juventude Samas | 14 | 7 | 2 | 5 | 21 | 13 | +8 | 23 | Advance to round of 32 | 1–2 | 0–1 | 4–1 | | 1–0 | 1–1 | 4–0 | 3–0 |
| 5 | São Raimundo | 14 | 6 | 3 | 5 | 16 | 8 | +8 | 21 | | 3–0 | 0–0 | 0–2 | 1–1 | | 6–0 | 2–0 | 1–0 |
| 6 | Baré | 14 | 3 | 4 | 7 | 15 | 27 | −12 | 13 | | 2–1 | 1–3 | 2–2 | 0–1 | 1–0 | | 0–0 | 2–3 |
| 7 | Santos | 14 | 3 | 2 | 9 | 12 | 26 | −14 | 11 | | 0–4 | 0–3 | 2–2 | 1–2 | 0–1 | 3–0 | | 3–0 |
| 8 | Sinop | 14 | 2 | 1 | 11 | 9 | 27 | −18 | 7 | | 1–2 | 0–2 | 0–0 | 0–2 | 1–0 | 2–3 | 1–2 | |

### Group A3

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | AME | SAL | FLO | GLO | ATL | CAM | AFO | GUA |
| 1 | América de Natal | 14 | 8 | 4 | 2 | 24 | 8 | +16 | 28 | Advance to round of 32 | | 0–1 | 2–1 | 0–0 | 4–1 | 0–0 | 3–1 | 3–0 |
| 2 | Salgueiro | 14 | 7 | 5 | 2 | 18 | 8 | +10 | 26 | Advance to round of 32 | 1–0 | | 0–1 | 0–0 | 1–0 | 2–0 | 3–1 | 2–0 |
| 3 | Floresta | 14 | 6 | 6 | 2 | 22 | 13 | +9 | 24 | Advance to round of 32 | 1–1 | 2–2 | | 2–0 | 1–0 | 2–1 | 5–1 | 1–1 |
| 4 | Globo | 14 | 4 | 6 | 4 | 16 | 17 | −1 | 18 | Advance to round of 32 | 0–2 | 1–1 | 1–1 | | 3–0 | 1–1 | 2–1 | 3–1 |
| 5 | Atlético Cajazeirense | 14 | 5 | 1 | 8 | 17 | 21 | −4 | 16 | | 1–2 | 2–1 | 2–2 | 1–2 | | 3–0 | 2–0 | 1–0 |
| 6 | Campinense | 14 | 3 | 6 | 5 | 13 | 15 | −2 | 15 | | 0–0 | 0–0 | 1–1 | 4–1 | 2–1 | | 2–0 | 1–1 |
| 7 | Afogados | 14 | 4 | 1 | 9 | 15 | 33 | −18 | 13 | | 0–4 | 0–3 | 1–0 | 3–2 | 3–2 | 2–1 | | 2–2 |
| 8 | Guarany de Sobral | 14 | 2 | 5 | 7 | 10 | 20 | −10 | 11 | | 1–3 | 1–1 | 0–2 | 0–0 | 0–1 | 1–0 | 2–0 | |

### Group A4

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | ABC | ITA | VIT | COR | CEN | POT | FRE | JAC |
| 1 | ABC | 14 | 7 | 5 | 2 | 25 | 6 | +19 | 26 | Advance to round of 32 | | 2–0 | 1–3 | 0–0 | 0–0 | 3–1 | 1–0 | 7–0 |
| 2 | Itabaiana | 14 | 6 | 5 | 3 | 29 | 19 | +10 | 23 | Advance to round of 32 | 1–1 | | 3–2 | 2–0 | 2–1 | 4–1 | 1–1 | 7–0 |
| 3 | Vitória da Conquista | 14 | 6 | 4 | 4 | 24 | 21 | +3 | 22 | Advance to round of 32 | 0–3 | 2–1 | | 2–0 | 1–1 | 2–4 | 3–0 | 3–3 |
| 4 | Coruripe | 14 | 6 | 3 | 5 | 13 | 17 | −4 | 21 | Advance to round of 32 | 1–0 | 2–0 | 1–0 | | 0–2 | 1–0 | 1–0 | 3–1 |
| 5 | Central | 14 | 4 | 9 | 1 | 19 | 10 | +9 | 21 | | 0–0 | 2–2 | 1–1 | 4–0 | | 2–2 | 1–0 | 3–0 |
| 6 | Potiguar de Mossoró | 14 | 4 | 7 | 3 | 27 | 24 | +3 | 19 | | 0–0 | 2–2 | 1–1 | 5–3 | 0–0 | | 0–0 | 3–2 |
| 7 | Freipaulistano | 14 | 2 | 5 | 7 | 12 | 15 | −3 | 11 | | 0–1 | 1–2 | 0–1 | 1–1 | 0–0 | 1–1 | | 3–0 |
| 8 | Jaciobá | 14 | 0 | 4 | 10 | 17 | 54 | −37 | 4 | | 0–6 | 2–2 | 2–3 | 0–0 | 2–2 | 3–7 | 2–5 | |

### Group A5

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | APA | GOI | GEC | REA | AGU | VIT | CEO | UNI |
| 1 | Aparecidense | 14 | 8 | 4 | 2 | 31 | 14 | +17 | 28 | Advance to round of 32 | | 1–1 | 1–1 | 2–1 | 4–0 | 4–2 | 1–2 | 4–0 |
| 2 | Goiânia | 14 | 8 | 4 | 2 | 22 | 12 | +10 | 28 | Advance to round of 32 | 2–1 | | 0–1 | 1–0 | 4–0 | 1–0 | 2–1 | 3–1 |
| 3 | Goianésia | 14 | 6 | 4 | 4 | 20 | 16 | +4 | 22 | Advance to round of 32 | 1–1 | 1–1 | | 1–1 | 2–3 | 2–0 | 2–0 | 2–1 |
| 4 | Real Noroeste | 14 | 5 | 4 | 5 | 20 | 18 | +2 | 19 | Advance to round of 32 | 0–0 | 2–1 | 4–1 | | 3–1 | 3–2 | 1–2 | 2–1 |
| 5 | Águia Negra | 14 | 5 | 4 | 5 | 20 | 26 | −6 | 19 | | 0–1 | 1–1 | 3–1 | 2–2 | | 2–1 | 3–1 | 4–3 |
| 6 | Vitória | 14 | 5 | 1 | 8 | 18 | 22 | −4 | 16 | | 0–1 | 1–2 | 1–0 | 1–1 | 3–1 | | 2–1 | 3–0 |
| 7 | CEOV | 14 | 3 | 3 | 8 | 13 | 24 | −11 | 12 | | 2–6 | 1–1 | 0–2 | 1–0 | 0–0 | 0–1 | | 2–2 |
| 8 | União Rondonópolis | 14 | 3 | 2 | 9 | 18 | 30 | −12 | 11 | | 2–4 | 1–2 | 0–3 | 2–0 | 0–0 | 4–1 | 1–0 | |

### Group A6

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | BRA | GAM | ATL | TUP | BAH | CAL | VIL | PAL |
| 1 | Brasiliense | 14 | 10 | 3 | 1 | 32 | 10 | +22 | 33 | Advance to round of 32 | | 3–0 | 1–1 | 2–1 | 1–1 | 3–1 | 1–0 | 5–0 |
| 2 | Gama | 14 | 10 | 2 | 2 | 29 | 10 | +19 | 32 | Advance to round of 32 | 2–1 | | 2–1 | 1–3 | 3–0 | 5–0 | 3–0 | 6–1 |
| 3 | Atlético de Alagoinhas | 14 | 7 | 3 | 4 | 26 | 16 | +10 | 24 | Advance to round of 32 | 0–3 | 0–1 | | 1–1 | 3–1 | 1–0 | 5–0 | 3–0 |
| 4 | Tupynambás | 14 | 6 | 5 | 3 | 19 | 16 | +3 | 23 | Advance to round of 32 | 1–4 | 1–1 | 1–2 | | 2–1 | 0–0 | 1–1 | 1–0 |
| 5 | Bahia de Feira | 14 | 5 | 3 | 6 | 20 | 16 | +4 | 18 | | 1–1 | 0–1 | 3–3 | 0–1 | | 3–0 | 2–0 | 5–0 |
| 6 | Caldense | 14 | 4 | 3 | 7 | 10 | 21 | −11 | 15 | | 1–2 | 0–0 | 0–3 | 1–2 | 1–0 | | 1–0 | 2–0 |
| 7 | Villa Nova | 14 | 3 | 3 | 8 | 11 | 23 | −12 | 12 | | 1–2 | 0–1 | 2–1 | 2–2 | 0–2 | 1–1 | | 3–1 |
| 8 | Palmas | 14 | 0 | 0 | 14 | 4 | 39 | −35 | 0 | | 0–3 | 0–3 | 1–2 | 0–2 | 0–1 | 1–2 | 0–1 | |

### Group A7

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | FER | MIR | CAB | CAS | POR | BAN | NAC | TOL |
| 1 | Ferroviária | 14 | 9 | 3 | 2 | 30 | 10 | +20 | 30 | Advance to round of 32 | | 1–0 | 3–1 | 0–0 | 1–1 | 3–0 | 2–0 | 5–1 |
| 2 | Mirassol | 14 | 7 | 5 | 2 | 31 | 9 | +22 | 26 | Advance to round of 32 | 1–0 | | 2–0 | 5–2 | 1–0 | 1–1 | 8–0 | 6–0 |
| 3 | Cabofriense | 14 | 7 | 4 | 3 | 26 | 16 | +10 | 25 | Advance to round of 32 | 1–0 | 3–1 | | 0–1 | 0–0 | 2–1 | 7–0 | 1–0 |
| 4 | FC Cascavel | 14 | 7 | 3 | 4 | 24 | 16 | +8 | 24 | Advance to round of 32 | 1–2 | 0–0 | 3–3 | | 2–0 | 3–0 | 2–0 | 3–1 |
| 5 | Portuguesa | 14 | 6 | 5 | 3 | 21 | 11 | +10 | 23 | | 0–0 | 1–1 | 2–2 | 2–1 | | 0–2 | 3–1 | 3–0 |
| 6 | Bangu | 14 | 4 | 5 | 5 | 13 | 19 | −6 | 17 | | 1–3 | 0–0 | 2–2 | 2–0 | 0–3 | | 0–0 | 1–0 |
| 7 | Nacional-PR | 14 | 1 | 2 | 11 | 9 | 45 | −36 | 5 | | 1–4 | 1–1 | 1–2 | 0–3 | 0–5 | 1–2 | | 1–4 |
| 8 | Toledo | 14 | 1 | 1 | 12 | 12 | 40 | −28 | 4 | | 2–6 | 0–4 | 0–2 | 1–3 | 0–1 | 1–1 | 2–3 | |

### Group A8

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | NOV | SLU | CAX | MAR | PEL | JOI | TUB | SCA |
| 1 | Novorizontino | 14 | 9 | 4 | 1 | 17 | 7 | +10 | 31 | Advance to round of 32 | | 1–0 | 1–1 | 1–0 | 1–0 | 0–0 | 1–0 | 2–0 |
| 2 | São Luiz | 14 | 6 | 5 | 3 | 16 | 10 | +6 | 23 | Advance to round of 32 | 1–2 | | 0–0 | 1–1 | 0–0 | 2–1 | 3–0 | 0–0 |
| 3 | Caxias | 14 | 5 | 6 | 3 | 18 | 11 | +7 | 21 | Advance to round of 32 | 0–1 | 1–2 | | 2–2 | 0–0 | 1–0 | 2–1 | 6–0 |
| 4 | Marcílio Dias | 14 | 5 | 6 | 3 | 14 | 8 | +6 | 21 | Advance to round of 32 | 0–0 | 1–1 | 1–0 | | 1–0 | 0–0 | 3–0 | 3–0 |
| 5 | Pelotas | 14 | 5 | 5 | 4 | 21 | 11 | +10 | 20 | | 4–3 | 1–2 | 1–2 | 1–0 | | 1–0 | 1–1 | 3–1 |
| 6 | Joinville | 14 | 5 | 5 | 4 | 17 | 11 | +6 | 20 | | 1–1 | 2–0 | 1–1 | 2–1 | 0–0 | | 6–1 | 2–1 |
| 7 | Tubarão | 14 | 1 | 4 | 9 | 8 | 23 | −15 | 7 | | 0–2 | 0–1 | 1–1 | 0–1 | 0–0 | 0–1 | | 3–0 |
| 8 | São Caetano | 14 | 1 | 3 | 10 | 5 | 35 | −30 | 6 | | 0–1 | 0–3 | 0–1 | 0–0 | 0–9 | 2–1 | 1–1 | |
    $^1$ Marcílio Dias awarded 3–0 win by forfeit.

## Final stages

The final stages were played on a home-and-away two-legged basis. For the round of 16, semi-finals and finals, the best-overall-performance team hosted the second leg. If tied on aggregate, the away goals rule would not be used, extra time would not be played, and the penalty shoot-out would be used to determine the winners (Regulations Article 18).
For the quarter-finals, teams were seeded based on the table of results of all matches in the competition. The top four seeded teams played the second leg at home.
The four quarter-final winners were promoted to 2021 Série C.

### Round of 32

The round of 32 was a two-legged knockout tie, with the draw regionalised. The matches were played from 5 to 13 December 2020.

#### Matches

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Juventude Samas | 2–2 (4–3 p) | Bragantino | 1–1 | 1–1 |
| Galvez | 1–0 | River | 0–0 | 1–0 |
| Rio Branco | 1–5 | Altos | 0–2 | 1–3 |
| Moto Club | 3–3 (5–6 p) | Fast Clube | 2–2 | 1–1 |
| Coruripe | 1–5 | América de Natal | 1–0 | 0–5 |
| Floresta | 4–3 | Itabaiana | 2–1 | 2–2 |
| Globo | 3–2 | ABC | 2–1 | 1–1 |
| Vitória da Conquista | 4–7 | Salgueiro | 4–3 | 0–4 |
| Tupynambás | 1–5 | Aparecidense | 1–1 | 0–4 |
| Goianésia | 4–3 | Gama | 2–2 | 2–1 |
| Real Noroeste | 1–4 | Brasiliense | 1–1 | 0–3 |
| Atlético de Alagoinhas | 3–4 | Goiânia | 1–1 | 2–3 |
| Marcílio Dias | 2–1 | Ferroviária | 0–0 | 2–1 |
| Cabofriense | 1–3 | São Luiz | 1–1 | 0–2 |
| FC Cascavel | 1–3 | Novorizontino | 1–0 | 0–3 |
| Caxias | 1–1 (0–3 p) | Mirassol | 1–0 | 0–1 |

### Round of 16

The matches were played from 19 to 27 December 2020.

#### Matches

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Juventude Samas | 2–4 | Floresta | 2–2 | 0–2 |
| Galvez | 2–6 | América de Natal | 1–1 | 1–5 |
| Salgueiro | 2–2 (2–4 p) | Altos | 1–1 | 1–1 |
| Globo | 2–2 (5–6 p) | Fast Clube | 2–1 | 0–1 |
| São Luiz | 2–5 | Aparecidense | 0–4 | 2–1 |
| Marcílio Dias | 3–2 | Goianésia | 2–1 | 1–1 |
| Mirassol | 5–2 | Brasiliense | 4–0 | 1–2 |
| Goiânia | 1–5 | Novorizontino | 1–1 | 0–4 |

### Quarter-finals

The draw for the quarter-finals was seeded based on the table of results of all matches in the competition (except preliminary stage matches) for the qualifying teams. The teams were ranked according to points. If tied on points, the following criteria would be used to determine the ranking: 1. Wins; 2. Goal difference; 3. Draw in the headquarters of the Brazilian Football Confederation (Regulations Article 15).

#### Quarter-finals seedings

| Seed | Team | Pts | W | GD |
| 1 | Altos | 38 | 12 | +15 |
| 2 | Novorizontino | 38 | 11 | +16 |
| 3 | América de Natal | 35 | 10 | +24 |
| 4 | Aparecidense | 35 | 10 | +24 |
| 5 | Mirassol | 32 | 9 | +25 |
| 6 | Floresta | 32 | 8 | +12 |
| 7 | Fast Clube | 31 | 8 | +13 |
| 8 | Marcílio Dias | 29 | 7 | +8 |
Seed 3 and seed 4 were decided by a draw held on 28 December 2020, 11:00 at CBF headquarters in Rio de Janeiro.

#### Matches

The matches were played from 2 to 10 January 2021.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Marcílio Dias | 2–6 | Altos | 1–1 | 1–5 |
| Mirassol | 5–3 | Aparecidense | 2–1 | 3–2 |
| Fast Clube | 0–4 | Novorizontino | 0–1 | 0–3 |
| Floresta | 3–1 | América de Natal | 2–0 | 1–1 |

### Semi-finals

The matches were played from 16 to 24 January 2021.

#### Matches

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Mirassol | 5–0 | Altos | 4–0 | 1–0 |
| Floresta | 3–1 | Novorizontino | 1–1 | 2–0 |

### Finals

The matches were played on 30 January and 6 February 2021.

#### Matches

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Floresta | 0–2 | Mirassol | 0–1 | 0–1 |

## Top goalscorers

| Rank | Player | Team | Goals |
| 1 | Wallace Pernambucano | América de Natal | 12 |
| 1 | Zé Love | Brasiliense | 12 |
| 3 | Fabrício Daniel | Mirassol | 11 |
| 3 | Tiago Marques | Ferroviária | 11 |
| 5 | Alex Henrique | Aparecidense | 10 |
| 5 | Fabinho Alves | Tupynambás | 10 |
| 5 | Thiago Santos | Itabaiana | 10 |
| 8 | Adriano | Portuguesa | 9 |
| 8 | Betinho | Altos | 9 |
| 8 | Gustavo Coutinho | Cabofriense | 9 |
| 8 | Luquinhas | Brasiliense | 9 |
Source: CBF