# 2023 Campeonato Brasileiro Série B

The 2023 Campeonato Brasileiro Série B (officially the Brasileirão Série B Betano 2023 for sponsorship reasons) was a football competition held in Brazil, equivalent to the second division. The competition began on 14 April and ended on 25 November.
Twenty teams competed in the tournament, twelve returning from the 2022 season, four promoted from the 2022 Campeonato Brasileiro Série C (ABC, Botafogo-SP, Mirassol and Vitória), and four relegated from the 2022 Campeonato Brasileiro Série A (Atlético Goianiense, Avaí, Ceará and Juventude).
The top four teams were promoted to the 2024 Campeonato Brasileiro Série A. Vitória became the first club to be promoted on 12 November 2023 after a 2–1 win against Novorizontino. Criciúma were promoted on 18 November 2023, and Juventude and Atlético Goianiense were promoted on 25 November 2023.
ABC, Londrina, Sampaio Corrêa and Tombense were relegated to the 2024 Campeonato Brasileiro Série C.

## Teams

Twenty teams competed in the league – twelve teams from the previous season, as well as four teams promoted from the Série C, and four teams relegated from the Série A.
| Pos. | Relegated from 2022 Série A |
| 17th | Ceará |
| 18th | Atlético Goianiense |
| 19th | Avaí |
| 20th | Juventude |
| Pos. | Promoted from 2022 Série C |
| 1st | Mirassol |
| 2nd | ABC |
| 3rd | Botafogo-SP |
| 4th | Vitória |

### Number of teams by state

| Number of teams | State | Team(s) |
| 6 | São Paulo | Botafogo-SP, Guarani, Ituano, Mirassol, Novorizontino and Ponte Preta |
| 3 | Santa Catarina | Avaí, Chapecoense and Criciúma |
| 2 | Goiás | Atlético Goianiense and Vila Nova |
| 1 | Alagoas | CRB |
| 1 | Bahia | Vitória |
| 1 | Ceará | Ceará |
| 1 | Maranhão | Sampaio Corrêa |
| 1 | Minas Gerais | Tombense |
| 1 | Paraná | Londrina |
| 1 | Pernambuco | Sport |
| 1 | Rio Grande do Norte | ABC |
| 1 | Rio Grande do Sul | Juventude |

### Stadiums and locations

| Team | Home city | State | Stadium | Capacity |
| ABC | Natal | Rio Grande do Norte | Frasqueirão | 18,000 |
| ABC | Natal | Rio Grande do Norte | Arena das Dunas | 32,050 |
| Atlético Goianiense | Goiânia | Goiás | Antônio Accioly | 12,500 |
| Avaí | Florianópolis | Santa Catarina | Ressacada | 17,826 |
| Botafogo-SP | Ribeirão Preto | São Paulo | Santa Cruz | 29,292 |
| Botafogo-SP | Ribeirão Preto | São Paulo | Palma Travassos | 18,277 |
| Ceará | Fortaleza | Ceará | Castelão | 63,903 |
| Ceará | Fortaleza | Ceará | Presidente Vargas | 20,262 |
| Chapecoense | Chapecó | Santa Catarina | Arena Condá | 20,089 |
| CRB | Maceió | Alagoas | Rei Pelé | 17,126 |
| Criciúma | Criciúma | Santa Catarina | Heriberto Hülse | 19,225 |
| Guarani | Campinas | São Paulo | Brinco de Ouro | 29,130 |
| Ituano | Itu | São Paulo | Novelli Júnior | 18,560 |
| Juventude | Caxias do Sul | Rio Grande do Sul | Alfredo Jaconi | 19,924 |
| Londrina | Londrina | Paraná | Estádio do Café | 31,000 |
| Mirassol | Mirassol | São Paulo | Campos Maia | 15,000 |
| Novorizontino | Novo Horizonte | São Paulo | Doutor Jorge Ismael de Biasi | 16,000 |
| Ponte Preta | Campinas | São Paulo | Moisés Lucarelli | 19,728 |
| Sampaio Corrêa | São Luís | Maranhão | Castelão | 40,149 |
| Sport | Recife | Pernambuco | Ilha do Retiro | 32,983 |
| Tombense | Tombos | Minas Gerais | Almeidão | 3,050 |
| Tombense | Tombos | Minas Gerais | Soares de Azevedo (Muriaé) | 13,971 |
| Vila Nova | Goiânia | Goiás | Onésio Brasileiro Alvarenga | 6,500 |
| Vila Nova | Goiânia | Goiás | Serra Dourada | 42,000 |
| Vitória | Salvador | Bahia | Barradão | 34,535 |

## Personnel and kits

| Team | Head coach | Captain | Kit manufacturer | Main kit sponsor |
| ABC | Jonydei Tostão (caretaker) | Matheus Anjos | Elefante MQ (club manufactured kit) | Esportes da Sorte |
| Atlético Goianiense | Jair Ventura | Ronaldo | Dragão Premium (club manufactured kit) | Blaze.com |
| Avaí | Eduardo Barroca | Bruno Cortez | Umbro | PixBet |
| Botafogo-SP | José Leão (caretaker) | Osman | Volt Sport | EstrelaBet |
| Ceará | Vagner Mancini | Luiz Otávio | Vozão (club manufactured kit) | EstrelaBet |
| Chapecoense | Claudinei Oliveira | Airton | Umbro | Aurora |
| CRB | Daniel Paulista | Auremir | Regatas (club manufactured kit) | Champion Watch |
| Criciúma | Cláudio Tencati | Rodrigo | Volt Sport | EstrelaBet |
| Guarani | Umberto Louzer | Diogo Mateus | Kappa | Furacão - FW Distribuidora |
| Ituano | Marcinho Freitas | Jefferson Paulino | Alluri | Betfast.io |
| Juventude | Thiago Carpini | Nenê | 19treze (club manufactured kit) | PixBet |
| Londrina | Roberto Fonseca Júnior (caretaker) | João Paulo | Karilu | PADO |
| Mirassol | Mozart | Gabriel | Physicus | Guaraná Poty |
| Novorizontino | Eduardo Baptista | Douglas Baggio | Physicus | Açúcar Santa Isabel |
| Ponte Preta | João Brigatti | Fábio Sanches | 1900 (club manufactured kit) | EstrelaBet |
| Sampaio Corrêa | Dejair Ferreira (caretaker) | Pará | Finta | VITALMED, PAGBET |
| Sport | César Lucena (caretaker) | Rafael Thyere | Umbro | Betnacional |
| Tombense | Moacir Júnior | Roger Carvalho | Vettor | ValSports |
| Vila Nova | Higo Magalhães | Rafael Donato | V43 (club manufactured kit) | Grupo Luztol, Esportes da Sorte |
| Vitória | Léo Condé | Zeca | Volt Sport | Betnacional |

### Coaching changes

| Team | Outgoing head coach | Manner of departure | Date of vacancy | Position in table | Incoming head coach | Date of appointment |
| CRB | Daniel Barboza | End of caretaker spell | 6 November 2022 | Pre-season | Umberto Louzer | 5 November 2022 |
| Londrina | Adilson Batista | End of contract | 6 November 2022 | Pre-season | Edinho | 18 October 2022 |
| Novorizontino | Mazola Júnior | End of contract | 8 November 2022 | Pre-season | Eduardo Baptista | 16 November 2022 |
| Chapecoense | Gilmar Dal Pozzo | End of contract | 8 November 2022 | Pre-season | Bruno Pivetti | 9 November 2022 |
| Tombense | Bruno Pivetti | Signed by Chapecoense | 9 November 2022 | Pre-season | Marcelo Chamusca | 9 November 2022 |
| Avaí | Fabrício Bento | End of caretaker spell | 13 November 2022 | Pre-season | Alex | 16 November 2022 |
| Ceará | Juca Antonello | End of caretaker spell | 13 November 2022 | Pre-season | Gustavo Morínigo | 22 November 2022 |
| Sport | Claudinei Oliveira | Mutual agreement | 16 November 2022 | Pre-season | Enderson Moreira | 18 November 2022 |
| Sampaio Corrêa | Léo Condé | End of contract | 17 November 2022 | Pre-season | Felipe Conceição | 18 November 2022 |
| Vila Nova | Allan Aal | Sacked | 23 November 2022 | Pre-season | Claudinei Oliveira | 1 December 2022 |
| Londrina | Edinho | Resigned | 5 February 2023 | State leagues | Omar Feitosa | 6 February 2023 |
| Vitória | João Burse | Sacked | 5 February 2023 | State leagues | Ricardo Amadeu (caretaker) | 5 February 2023 |
| Ituano | Carlos Pimentel | Sacked | 6 February 2023 | State leagues | Chico Elias (caretaker) | 6 February 2023 |
| Vitória | Ricardo Amadeu | End of caretaker spell | 8 February 2023 | State leagues | Léo Condé | 7 February 2023 |
| Ituano | Chico Elias | End of caretaker spell | 10 February 2023 | State leagues | Gilmar Dal Pozzo | 10 February 2023 |
| Guarani | Mozart | Sacked | 19 February 2023 | State leagues | Moisés Moura (caretaker) | 22 February 2023 |
| Botafogo-SP | Paulo Baier | Sacked | 21 February 2023 | State leagues | José Leão (caretaker) | 21 February 2023 |
| Londrina | Omar Feitosa | Sacked | 23 February 2023 | State leagues | Edson Vieira (caretaker) | 23 February 2023 |
| Botafogo-SP | José Leão | End of caretaker spell | 25 February 2023 | State leagues | Adilson Batista | 23 February 2023 |
| Juventude | Celso Roth | Resigned | 25 February 2023 | State leagues | Adaílton Bolzan (caretaker) | 25 February 2023 |
| Atlético Goianiense | Eduardo Souza | Sacked | 3 March 2023 | State leagues | Anderson Gomes (caretaker) | 3 March 2023 |
| Sampaio Corrêa | Felipe Conceição | Sacked | 7 March 2023 | State leagues | Evaristo Piza | 7 March 2023 |
| Atlético Goianiense | Anderson Gomes | End of caretaker spell | 11 March 2023 | State leagues | Mozart | 11 March 2023 |
| Juventude | Adaílton Bolzan | End of caretaker spell | 11 March 2023 | State leagues | Pintado | 11 March 2023 |
| Londrina | Edson Vieira | End of caretaker spell | 14 March 2023 | State leagues | Alexandre Gallo | 14 March 2023 |
| Chapecoense | Bruno Pivetti | Sacked | 18 March 2023 | State leagues | Argel Fuchs | 19 March 2023 |
| Guarani | Moisés Moura | End of caretaker spell | 24 March 2023 | State leagues | Bruno Pivetti | 27 March 2023 |
| Ponte Preta | Hélio dos Anjos | Mutual agreement | 18 April 2023 | 20th | Felipe Moreira | 19 April 2023 |
| Ceará | Gustavo Morínigo | Sacked | 24 April 2023 | 20th | Eduardo Barroca | 24 April 2023 |
| Atlético Goianiense | Mozart | Sacked | 1 May 2023 | 7th | Anderson Gomes (caretaker) | 1 May 2023 |
| Avaí | Alex | Sacked | 3 May 2023 | 16th | Fabrício Bento (caretaker) | 5 May 2023 |
| Mirassol | Ricardo Catalá | Sacked | 4 May 2023 | 8th | Mozart | 4 May 2023 |
| Sampaio Corrêa | Evaristo Piza | Sacked | 4 May 2023 | 18th | Edson Medeiros (caretaker) | 5 May 2023 |
| Atlético Goianiense | Anderson Gomes | End of caretaker spell | 5 May 2023 | 6th | Alberto Valentim | 5 May 2023 |
| Sampaio Corrêa | Edson Medeiros (caretaker) | End of caretaker spell | 7 May 2023 | 12th | Márcio Fernandes | 7 May 2023 |
| Juventude | Pintado | Sacked | 8 May 2023 | 18th | Adaílton Bolzan (caretaker) | 8 May 2023 |
| Londrina | Alexandre Gallo | Sacked | 9 May 2023 | 17th | Edson Vieira (caretaker) | 9 May 2023 |
| Juventude | Adaílton Bolzan (caretaker) | End of caretaker spell | 13 May 2023 | 19th | Thiago Carpini | 13 May 2023 |
| ABC | Fernando Marchiori | Mutual agreement | 14 May 2023 | 20th | Jonydei Tostão (caretaker) | 15 May 2023 |
| Avaí | Fabrício Bento | End of caretaker spell | 15 May 2023 | 14th | Gustavo Morínigo | 15 May 2023 |
| ABC | Jonydei Tostão | End of caretaker spell | 18 May 2023 | 20th | Allan Aal | 18 May 2023 |
| Ituano | Gilmar Dal Pozzo | Sacked | 21 May 2023 | 13th | Douglas Leite (caretaker) | 21 May 2023 |
| Ituano | Douglas Leite | End of caretaker spell | 26 May 2023 | 11th | Marcinho Freitas | 26 May 2023 |
| CRB | Umberto Louzer | Sacked | 27 May 2023 | 18th | Daniel Paulista | 28 May 2023 |
| Londrina | Edson Vieira | End of caretaker spell | 28 May 2023 | 13th | PC Gusmão | 29 May 2023 |
| Chapecoense | Argel Fuchs | Sacked | 29 May 2023 | 16th | Gilmar Dal Pozzo | 30 May 2023 |
| Tombense | Marcelo Chamusca | Sacked | 5 June 2023 | 19th | Julian Tobar (caretaker) | 5 June 2023 |
| Guarani | Bruno Pivetti | Sacked | 8 June 2023 | 11th | Ben-Hur Moreira (caretaker) | 8 June 2023 |
| Tombense | Julian Tobar | End of caretaker spell | 11 June 2023 | 18th | João Burse | 8 June 2023 |
| Guarani | Ben-Hur Moreira | End of caretaker spell | 13 June 2023 | 11th | Umberto Louzer | 13 June 2023 |
| Botafogo-SP | Adilson Batista | Sacked | 24 June 2023 | 10th | Marcelo Chamusca | 25 June 2023 |
| Ceará | Eduardo Barroca | Sacked | 28 June 2023 | 7th | Guto Ferreira | 29 June 2023 |
| Londrina | PC Gusmão | Mutual agreement | 29 June 2023 | 17th | Franco Muller (caretaker) | 1 July 2023 |
| Avaí | Gustavo Morínigo | Sacked | 2 July 2023 | 19th | Eduardo Barroca | 3 July 2023 |
| Londrina | Franco Muller | End of caretaker spell | 3 July 2023 | 18th | Eduardo Souza | 3 July 2023 |
| Atlético Goianiense | Alberto Valentim | Sacked | 10 July 2023 | 11th | Anderson Gomes (caretaker) | 10 July 2023 |
| Ponte Preta | Felipe Moreira | Sacked | 22 July 2023 | 13th | Pintado | 24 July 2023 |
| Atlético Goianiense | Anderson Gomes | End of caretaker spell | 24 July 2023 | 11th | Jair Ventura | 24 July 2023 |
| Vila Nova | Claudinei Oliveira | Sacked | 3 August 2023 | 7th | Marquinhos Santos | 4 August 2023 |
| Chapecoense | Gilmar Dal Pozzo | Sacked | 7 August 2023 | 19th | Claudinei Oliveira | 9 August 2023 |
| Tombense | João Burse | Sacked | 21 August 2023 | 18th | Moacir Júnior | 22 August 2023 |
| Ceará | Guto Ferreira | Sacked | 29 August 2023 | 11th | Vagner Mancini | 30 August 2023 |
| ABC | Allan Aal | Sacked | 2 September 2023 | 20th | Argel Fuchs | 3 September 2023 |
| Sampaio Corrêa | Márcio Fernandes | Sacked | 5 September 2023 | 17th | Fernando Marchiori | 5 September 2023 |
| Londrina | Eduardo Souza | Sacked | 7 September 2023 | 19th | Roberto Fonseca | 9 September 2023 |
| Vila Nova | Marquinhos Santos | Sacked | 20 September 2023 | 7th | Lisca | 21 September 2023 |
| Ponte Preta | Pintado | Sacked | 2 October 2023 | 15th | João Brigatti | 2 October 2023 |
| Vila Nova | Lisca | Sacked | 20 October 2023 | 9th | Higo Magalhães | 23 October 2023 |
| Sampaio Corrêa | Fernando Marchiori | Mutual agreement | 31 October 2023 | 15th | Dejair Ferreira (caretaker) | 31 October 2023 |
| Botafogo-SP | Marcelo Chamusca | Resigned | 13 November 2023 | 12th | José Leão (caretaker) | 13 November 2023 |
| Londrina | Roberto Fonseca | Resigned | 17 November 2023 | 19th | Roberto Fonseca Júnior (caretaker) | 17 November 2023 |
| Sport | Enderson Moreira | Mutual agreement | 19 November 2023 | 8th | César Lucena (caretaker) | 20 November 2023 |
| ABC | Argel Fuchs | Mutual agreement | 22 November 2023 | 20th | Jonydei Tostão (caretaker) | 22 November 2023 |

#### Notes

* ↑ Emerson Cris was the caretaker head coach in the 10th round against Ceará on 2 June
* ↑ José Leão was the caretaker head coach in the 14th round against Novorizontino on 28 June
* 1 2 3 4 5 Caretaker head coach until the end of the season.

## League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or relegation |
| 1 | Vitória (C, P) | 38 | 22 | 6 | 10 | 50 | 31 | +19 | 72 | Promotion to 2024 Campeonato Brasileiro Série A |
| 2 | Juventude (P) | 38 | 18 | 11 | 9 | 42 | 31 | +11 | 65 | Promotion to 2024 Campeonato Brasileiro Série A |
| 3 | Criciúma (P) | 38 | 19 | 7 | 12 | 45 | 33 | +12 | 64 | Promotion to 2024 Campeonato Brasileiro Série A |
| 4 | Atlético Goianiense (P) | 38 | 17 | 13 | 8 | 56 | 45 | +11 | 64 | Promotion to 2024 Campeonato Brasileiro Série A |
| 5 | Novorizontino | 38 | 19 | 6 | 13 | 48 | 30 | +18 | 63 | |
| 6 | Mirassol | 38 | 18 | 9 | 11 | 42 | 31 | +11 | 63 | |
| 7 | Sport | 38 | 17 | 12 | 9 | 59 | 40 | +19 | 63 | |
| 8 | Vila Nova | 38 | 17 | 10 | 11 | 49 | 30 | +19 | 61 | |
| 9 | CRB | 38 | 16 | 9 | 13 | 45 | 39 | +6 | 57 | |
| 10 | Guarani | 38 | 15 | 12 | 11 | 42 | 33 | +9 | 57 | |
| 11 | Ceará | 38 | 13 | 11 | 14 | 40 | 45 | −5 | 50 | |
| 12 | Botafogo-SP | 38 | 12 | 11 | 15 | 25 | 42 | −17 | 47 | |
| 13 | Avaí | 38 | 10 | 14 | 14 | 31 | 48 | −17 | 44 | |
| 14 | Ituano | 38 | 9 | 15 | 14 | 33 | 38 | −5 | 42 | |
| 15 | Ponte Preta | 38 | 9 | 15 | 14 | 24 | 35 | −11 | 42 | |
| 16 | Chapecoense | 38 | 9 | 13 | 16 | 38 | 43 | −5 | 40 | |
| 17 | Sampaio Corrêa (R) | 38 | 8 | 15 | 15 | 31 | 43 | −12 | 39 | Relegation to 2024 Campeonato Brasileiro Série C |
| 18 | Tombense (R) | 38 | 9 | 10 | 19 | 37 | 50 | −13 | 37 | Relegation to 2024 Campeonato Brasileiro Série C |
| 19 | Londrina (R) | 38 | 7 | 10 | 21 | 31 | 58 | −27 | 31 | Relegation to 2024 Campeonato Brasileiro Série C |
| 20 | ABC (R) | 38 | 5 | 13 | 20 | 28 | 51 | −23 | 28 | Relegation to 2024 Campeonato Brasileiro Série C |

### Positions by round

The table lists the positions of teams after each week of matches. In order to preserve chronological evolvements, any postponed matches were not included to the round at which they were originally scheduled, but added to the full round they were played immediately afterwards.
| Team ╲ Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
| ABC | 15 | 19 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 19 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 |
| Atlético Goianiense | 10 | 5 | 7 | 6 | 3 | 3 | 2 | 5 | 7 | 9 | 10 | 10 | 8 | 11 | 10 | 11 | 9 | 11 | 11 | 11 | 11 | 11 | 9 | 8 | 8 | 8 | 8 | 8 | 7 | 6 | 5 | 3 | 3 | 3 | 4 | 4 | 5 | 4 |
| Avaí | 19 | 12 | 12 | 16 | 10 | 14 | 15 | 16 | 17 | 18 | 18 | 19 | 18 | 18 | 19 | 19 | 20 | 19 | 18 | 18 | 18 | 16 | 16 | 15 | 15 | 16 | 15 | 16 | 16 | 16 | 15 | 15 | 13 | 13 | 13 | 13 | 13 | 13 |
| Botafogo-SP | 5 | 4 | 3 | 5 | 6 | 5 | 7 | 4 | 6 | 7 | 9 | 9 | 11 | 10 | 8 | 10 | 11 | 10 | 9 | 9 | 9 | 10 | 11 | 11 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 |
| Ceará | 17 | 20 | 13 | 15 | 16 | 13 | 11 | 9 | 10 | 8 | 7 | 7 | 7 | 9 | 11 | 9 | 10 | 8 | 10 | 10 | 10 | 9 | 10 | 10 | 11 | 10 | 10 | 10 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 |
| Chapecoense | 16 | 6 | 8 | 10 | 11 | 8 | 12 | 13 | 16 | 16 | 17 | 17 | 17 | 16 | 17 | 16 | 17 | 17 | 17 | 17 | 17 | 19 | 19 | 17 | 16 | 15 | 17 | 17 | 17 | 17 | 17 | 17 | 17 | 18 | 18 | 17 | 18 | 16 |
| CRB | 11 | 16 | 19 | 19 | 19 | 15 | 18 | 18 | 19 | 17 | 14 | 14 | 14 | 14 | 13 | 12 | 12 | 13 | 12 | 12 | 12 | 12 | 12 | 12 | 10 | 9 | 9 | 9 | 9 | 10 | 9 | 10 | 10 | 10 | 10 | 10 | 9 | 9 |
| Criciúma | 3 | 3 | 4 | 1 | 1 | 2 | 4 | 3 | 4 | 4 | 5 | 4 | 6 | 5 | 3 | 2 | 2 | 3 | 5 | 6 | 4 | 5 | 4 | 5 | 3 | 4 | 6 | 5 | 6 | 7 | 7 | 8 | 6 | 4 | 2 | 2 | 2 | 3 |
| Guarani | 1 | 1 | 2 | 3 | 5 | 4 | 5 | 6 | 8 | 11 | 11 | 11 | 9 | 7 | 9 | 8 | 8 | 6 | 6 | 5 | 6 | 6 | 7 | 7 | 7 | 6 | 3 | 2 | 5 | 4 | 4 | 5 | 5 | 7 | 8 | 9 | 10 | 10 |
| Ituano | 4 | 11 | 11 | 8 | 9 | 11 | 14 | 15 | 13 | 13 | 13 | 13 | 13 | 13 | 12 | 14 | 14 | 14 | 14 | 14 | 13 | 14 | 14 | 13 | 13 | 13 | 13 | 13 | 14 | 13 | 14 | 14 | 14 | 14 | 15 | 14 | 14 | 14 |
| Juventude | 13 | 17 | 18 | 14 | 18 | 19 | 16 | 12 | 11 | 10 | 8 | 8 | 10 | 8 | 7 | 7 | 7 | 9 | 8 | 8 | 5 | 7 | 5 | 6 | 4 | 5 | 7 | 6 | 4 | 3 | 3 | 4 | 4 | 5 | 3 | 3 | 3 | 2 |
| Londrina | 7 | 13 | 14 | 13 | 17 | 12 | 10 | 11 | 14 | 14 | 16 | 16 | 16 | 17 | 18 | 18 | 18 | 18 | 19 | 19 | 19 | 18 | 18 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 |
| Mirassol | 8 | 10 | 5 | 9 | 8 | 7 | 6 | 8 | 5 | 5 | 6 | 5 | 5 | 6 | 6 | 6 | 6 | 7 | 7 | 7 | 8 | 8 | 8 | 9 | 9 | 11 | 11 | 11 | 10 | 9 | 8 | 7 | 8 | 9 | 7 | 8 | 7 | 6 |
| Novorizontino | 14 | 9 | 10 | 7 | 7 | 10 | 9 | 7 | 2 | 3 | 3 | 1 | 1 | 2 | 4 | 4 | 5 | 4 | 2 | 1 | 3 | 3 | 3 | 3 | 5 | 3 | 4 | 4 | 3 | 5 | 6 | 6 | 7 | 6 | 6 | 7 | 6 | 5 |
| Ponte Preta | 20 | 18 | 17 | 12 | 13 | 17 | 17 | 17 | 15 | 15 | 15 | 15 | 15 | 15 | 14 | 13 | 13 | 12 | 13 | 13 | 14 | 13 | 13 | 14 | 14 | 14 | 14 | 14 | 15 | 15 | 16 | 16 | 16 | 16 | 17 | 15 | 16 | 15 |
| Sampaio Corrêa | 9 | 14 | 16 | 17 | 12 | 16 | 13 | 14 | 12 | 12 | 12 | 12 | 12 | 12 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 16 | 17 | 17 | 16 | 15 | 13 | 14 | 13 | 13 | 15 | 15 | 16 | 18 | 15 | 17 |
| Sport | 12 | 15 | 15 | 18 | 14 | 9 | 8 | 10 | 9 | 6 | 4 | 6 | 2 | 4 | 1 | 3 | 3 | 5 | 4 | 3 | 2 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 5 | 5 | 8 | 7 |
| Tombense | 18 | 7 | 9 | 11 | 15 | 18 | 19 | 19 | 18 | 19 | 19 | 18 | 19 | 19 | 16 | 17 | 16 | 16 | 16 | 16 | 16 | 17 | 17 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 17 | 14 | 16 | 17 | 18 |
| Vila Nova | 6 | 8 | 6 | 4 | 4 | 6 | 3 | 2 | 3 | 2 | 2 | 3 | 3 | 1 | 2 | 1 | 1 | 2 | 3 | 4 | 7 | 4 | 6 | 4 | 6 | 7 | 5 | 7 | 8 | 8 | 10 | 9 | 9 | 8 | 9 | 6 | 4 | 8 |
| Vitória | 2 | 2 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 4 | 3 | 5 | 5 | 4 | 1 | 1 | 2 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
* Champions, promoted to Campeonato Brasileiro Série A
* Promotion to Campeonato Brasileiro Série A
* Relegation to Campeonato Brasileiro Série C

## Results

| Home \ Away | ABC | ATL | AVA | BSP | CEA | CHA | CRB | CRI | GUA | ITU | JUV | LON | MIR | NOV | PON | SAM | SPO | TOM | VIL | VIT |
| ABC | — | 1–1 | 1–1 | 1–2 | 1–2 | 1–1 | 1–2 | 0–1 | 0–1 | 1–1 | 0–0 | 0–0 | 1–2 | 0–1 | 2–0 | 1–1 | 0–1 | 1–0 | 3–2 | 0–3 |
| Atlético Goianiense | 3–1 | — | 0–0 | 1–1 | 0–3 | 2–1 | 2–1 | 3–1 | 3–0 | 1–0 | 3–0 | 2–1 | 2–2 | 2–2 | 1–0 | 2–2 | 3–1 | 3–2 | 1–1 | 0–0 |
| Avaí | 0–2 | 0–2 | — | 1–1 | 1–0 | 1–4 | 1–1 | 1–0 | 1–2 | 0–0 | 0–2 | 0–0 | 1–0 | 1–0 | 0–1 | 2–0 | 2–2 | 4–2 | 0–3 | 1–1 |
| Botafogo-SP | 0–0 | 1–0 | 0–1 | — | 2–2 | 1–2 | 2–0 | 1–0 | 1–0 | 0–2 | 0–2 | 0–1 | 1–0 | 2–0 | 0–0 | 1–0 | 1–1 | 0–0 | 0–3 | 0–3 |
| Ceará | 1–0 | 0–1 | 0–0 | 3–0 | — | 2–0 | 1–3 | 1–0 | 0–3 | 1–1 | 1–3 | 3–1 | 2–0 | 0–3 | 1–1 | 0–0 | 2–1 | 2–0 | 1–0 | 0–2 |
| Chapecoense | 0–0 | 0–1 | 0–0 | 2–0 | 1–1 | — | 2–1 | 1–1 | 0–1 | 1–0 | 0–2 | 3–0 | 0–1 | 1–1 | 1–1 | 0–1 | 1–1 | 1–2 | 0–1 | 3–1 |
| CRB | 1–1 | 2–1 | 1–1 | 0–0 | 2–0 | 3–2 | — | 0–1 | 1–0 | 2–2 | 1–2 | 2–1 | 2–0 | 1–0 | 1–0 | 0–0 | 2–0 | 2–0 | 0–3 | 6–0 |
| Criciúma | 1–0 | 3–0 | 1–0 | 3–0 | 1–2 | 1–2 | 2–1 | — | 1–1 | 2–1 | 0–1 | 2–0 | 2–1 | 0–1 | 2–1 | 3–0 | 1–0 | 2–0 | 1–0 | 1–0 |
| Guarani | 2–3 | 1–0 | 4–1 | 0–1 | 0–0 | 3–3 | 0–1 | 1–1 | — | 1–0 | 0–1 | 2–1 | 2–1 | 2–1 | 1–0 | 2–0 | 3–1 | 3–0 | 1–1 | 2–0 |
| Ituano | 3–0 | 1–1 | 0–1 | 1–1 | 2–0 | 0–0 | 0–0 | 3–0 | 1–1 | — | 1–1 | 3–1 | 0–0 | 0–2 | 0–1 | 2–1 | 1–1 | 1–0 | 1–2 | 0–2 |
| Juventude | 1–1 | 3–0 | 3–2 | 1–2 | 1–0 | 0–0 | 3–1 | 1–0 | 1–0 | 2–1 | — | 2–2 | 0–1 | 1–0 | 0–0 | 0–0 | 2–2 | 1–2 | 0–2 | 1–0 |
| Londrina | 1–0 | 0–2 | 1–1 | 1–2 | 1–3 | 1–1 | 1–1 | 1–1 | 0–0 | 2–2 | 1–2 | — | 1–2 | 0–1 | 3–0 | 1–0 | 1–2 | 1–1 | 1–0 | 2–0 |
| Mirassol | 3–2 | 4–1 | 2–2 | 1–0 | 1–1 | 1–0 | 1–0 | 1–0 | 0–0 | 0–1 | 0–1 | 2–0 | — | 0–2 | 1–0 | 0–0 | 2–1 | 2–0 | 1–1 | 2–0 |
| Novorizontino | 2–1 | 2–2 | 2–0 | 0–1 | 4–1 | 1–2 | 0–1 | 2–0 | 1–0 | 2–0 | 1–0 | 3–0 | 2–1 | — | 2–0 | 1–0 | 0–0 | 0–0 | 3–1 | 1–2 |
| Ponte Preta | 0–0 | 0–2 | 0–1 | 2–0 | 0–0 | 1–0 | 3–0 | 1–2 | 1–1 | 0–0 | 0–0 | 1–0 | 0–3 | 1–0 | — | 0–0 | 1–1 | 0–1 | 1–0 | 2–2 |
| Sampaio Corrêa | 1–0 | 3–3 | 4–0 | 0–0 | 1–1 | 2–0 | 1–1 | 0–2 | 1–1 | 0–0 | 2–1 | 2–0 | 1–3 | 1–1 | 0–0 | — | 1–2 | 1–2 | 2–1 | 0–1 |
| Sport | 4–1 | 0–0 | 2–1 | 3–0 | 2–0 | 2–1 | 2–0 | 3–3 | 2–0 | 1–2 | 3–0 | 4–0 | 0–0 | 1–0 | 3–3 | 4–1 | — | 3–2 | 1–0 | 1–2 |
| Tombense | 3–0 | 1–1 | 0–1 | 0–0 | 2–2 | 4–2 | 2–1 | 2–2 | 1–1 | 3–0 | 1–1 | 0–2 | 0–1 | 1–2 | 0–1 | 0–1 | 0–0 | — | 2–1 | 1–2 |
| Vila Nova | 1–1 | 2–1 | 1–1 | 3–1 | 3–1 | 0–0 | 0–1 | 0–0 | 0–0 | 1–0 | 1–0 | 4–1 | 2–0 | 2–1 | 1–1 | 3–0 | 0–1 | 1–0 | — | 1–0 |
| Vitória | 2–0 | 2–3 | 3–0 | 2–0 | 1–0 | 1–0 | 1–0 | 0–1 | 2–0 | 3–0 | 0–0 | 2–0 | 0–0 | 2–1 | 3–0 | 2–1 | 1–0 | 1–0 | 1–1 | — |

## Top goalscorers

| Rank | Player | Club | Goals |
| 1 | Gustavo Coutinho | Atlético Goianiense | 14 |
| 2 | Ytalo | Sampaio Corrêa | 13 |
| 3 | Vágner Love | Sport | 11 |
| 4 | Caio Dantas | Vila Nova | 10 |
| 4 | Derek | Guarani | 10 |
| 4 | Erick | Ceará | 10 |
| 4 | Léo Gamalho | Vitória | 10 |
| 8 | Anselmo Ramon | CRB | 9 |
| 8 | Éder | Criciúma | 9 |
| 8 | Fernandão | Tombense | 9 |
| 8 | Luiz Fernando | Atlético Goianiense | 9 |
Source: CBF

## Attendances

EC Vitória drew the highest average home attendance in the 2023 edition of the Campeonato Brasileiro Série B.
| # | Football club | Home games | Average attendance |
| 1 | EC Vitória | 19 | 22,905 |
| 2 | Sport Recife | 19 | 17,703 |
| 3 | Ceará SC | 19 | 16,262 |
| 4 | Criciúma EC | 19 | 14,035 |
| 5 | Vila Nova FC | 19 | 8,770 |
| 6 | Atlético Goianiense | 19 | 6,758 |
| 7 | Avai FC | 19 | 6,690 |
| 8 | Guarani FC | 19 | 6,491 |
| 9 | Juventude | 19 | 5,808 |
| 10 | Chapecoense | 19 | 5,485 |
| 11 | ABC Futebol Clube | 19 | 4,979 |
| 12 | Clube de Regatas Brasil | 19 | 4,960 |
| 13 | AA Ponte Preta | 19 | 4,721 |
| 14 | Sampaio Corrêa | 19 | 4,235 |
| 15 | Botafogo FC | 19 | 3,179 |
| 16 | Grêmio Novorizontino | 19 | 2,637 |
| 17 | Mirassol FC | 19 | 2,358 |
| 18 | Ituano FC | 19 | 1,528 |
| 19 | Londrina EC | 19 | 916 |
| 20 | Tombense | 19 | 898 |