# 2024 Categoría Primera B season

The 2024 Categoría Primera B season (officially known as the 2024 Torneo BetPlay Dimayor season for sponsorship reasons) was the 35th season of the Categoría Primera B since its founding as Colombia's second division football league. The season began on 2 February and ended on 14 December 2024.
Unión Magdalena were the champions, winning their second Primera B title and promoting to Categoría Primera A after defeating Llaneros on penalties in the season's grand final following a 1–1 draw on aggregate. Llaneros also promoted at the end of the season, after ending the season as runners-up and also topping the season's aggregate table.

## Teams

16 teams took part in the season. The previous season's champions Patriotas and runners-up Fortaleza were promoted to Primera A for the 2024 season, being replaced in Primera B for this season by Unión Magdalena and Atlético Huila, who were relegated from Primera A at the end of the 2023 season after finishing in the bottom two places of the top tier's relegation table.
On 12 December 2023 the General Assembly of DIMAYOR approved a request from Cortuluá to change their home stadium for this season, moving to Palmira after one season in Yumbo, Valle del Cauca Department. On 10 January 2024, Cortuluá was rebranded as Internacional F.C. de Palmira. In addition to this, starting from this season Real Soacha Cundinamarca left Soacha and was rebranded to Real Cundinamarca, temporarily moving to Bogotá and playing its home matches at Parque Estadio Olaya Herrera.
| Club | City | Stadium | Capacity |
| Atlético | Cali | Pascual Guerrero | 38,588 |
| Atlético Huila | Neiva | Guillermo Plazas Alcid | 12,000 |
| Barranquilla | Barranquilla | Romelio Martínez | 11,000 |
| Boca Juniors de Cali | Cali | Pascual Guerrero | 38,588 |
| Bogotá | Bogotá | Metropolitano de Techo | 10,000 |
| Cúcuta Deportivo | Cúcuta | General Santander | 42,901 |
| Deportes Quindío | Armenia | Centenario | 20,716 |
| Internacional | Palmira | Francisco Rivera Escobar | 15,300 |
| Leones | Itagüí | Metropolitano Ciudad de Itagüí | 12,000 |
| Llaneros | Villavicencio | Bello Horizonte – Rey Pelé | 15,000 |
| Orsomarso | Palmira | Francisco Rivera Escobar | 15,300 |
| Real Cartagena | Cartagena | Jaime Morón León | 16,068 |
| Real Cundinamarca | Bogotá | Parque Estadio Olaya Herrera | 2,500 |
| Real Santander | Piedecuesta | Villa Concha | 5,500 |
| Tigres | Bogotá | Metropolitano de Techo | 10,000 |
| Unión Magdalena | Santa Marta | Sierra Nevada | 16,000 |

## Torneo I
### First stage
#### Standings

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Atlético Huila | 16 | 13 | 0 | 3 | 25 | 9 | +16 | 39 | Advance to the semi-finals |
| 2 | Cúcuta Deportivo | 16 | 9 | 5 | 2 | 25 | 14 | +11 | 32 | Advance to the semi-finals |
| 3 | Llaneros | 16 | 8 | 5 | 3 | 28 | 15 | +13 | 29 | Advance to the semi-finals |
| 4 | Tigres | 16 | 7 | 6 | 3 | 22 | 12 | +10 | 27 | Advance to the semi-finals |
| 5 | Unión Magdalena | 16 | 7 | 6 | 3 | 25 | 17 | +8 | 27 | Advance to the semi-finals |
| 6 | Real Cartagena | 16 | 7 | 5 | 4 | 22 | 15 | +7 | 26 | Advance to the semi-finals |
| 7 | Orsomarso | 16 | 7 | 4 | 5 | 23 | 18 | +5 | 25 | Advance to the semi-finals |
| 8 | Deportes Quindío | 16 | 5 | 7 | 4 | 20 | 18 | +2 | 22 | Advance to the semi-finals |
| 9 | Internacional | 16 | 6 | 4 | 6 | 20 | 18 | +2 | 22 | |
| 10 | Boca Juniors de Cali | 16 | 7 | 1 | 8 | 17 | 17 | 0 | 22 | |
| 11 | Real Cundinamarca | 16 | 5 | 4 | 7 | 28 | 28 | 0 | 19 | |
| 12 | Barranquilla | 16 | 4 | 6 | 6 | 19 | 18 | +1 | 18 | |
| 13 | Leones | 16 | 2 | 8 | 6 | 21 | 28 | −7 | 14 | |
| 14 | Bogotá | 16 | 3 | 5 | 8 | 14 | 32 | −18 | 14 | |
| 15 | Real Santander | 16 | 2 | 2 | 12 | 14 | 35 | −21 | 8 | |
| 16 | Atlético | 16 | 1 | 2 | 13 | 5 | 34 | −29 | 5 | |
* 1 2 Away goals against: Deportes Quindío 10, Internacional 11.

#### Results

| Home \ Away | ATL | HUI | BAR | BOC | BOG | CUC | QUI | INT | LEO | LLA | ORS | RCA | RCU | RSA | TIG | MAG |
| Atlético | — | 0–3 | — | 0–4 | — | 0–1 | 0–1 | — | — | 0–3 | 0–2 | 0–2 | — | — | 1–3 | — |
| Atlético Huila | — | — | 2–0 | — | — | 2–1 | 1–0 | — | — | 2–1 | 1–0 | 2–0 | 1–0 | 1–0 | — | — |
| Barranquilla | 4–0 | — | — | — | — | — | 1–0 | 0–0 | 2–2 | — | — | 0–1 | 1–1 | 1–0 | 2–2 | — |
| Boca Juniors de Cali | 0–1 | 0–2 | 1–0 | — | 1–2 | — | 2–1 | — | 1–0 | — | — | — | — | — | 2–0 | 0–0 |
| Bogotá | 2–2 | 2–1 | 1–0 | — | — | — | 2–2 | — | 2–2 | 1–2 | — | — | — | — | 0–1 | 0–2 |
| Cúcuta Deportivo | — | — | 2–1 | 1–0 | 6–0 | — | — | 1–0 | 1–1 | — | — | — | 3–2 | 2–1 | — | 1–1 |
| Deportes Quindío | — | 0–3 | — | — | — | 1–1 | — | 1–1 | — | 1–0 | 1–1 | 1–0 | 3–2 | 4–0 | — | — |
| Internacional | 3–0 | 2–1 | — | 2–1 | 3–0 | — | — | — | 2–2 | — | 0–1 | — | — | — | 0–0 | 0–2 |
| Leones | 2–0 | 1–2 | — | — | — | — | 2–2 | — | — | 0–3 | 1–1 | 0–0 | — | — | 2–3 | 1–3 |
| Llaneros | — | — | 2–1 | 2–0 | — | 0–0 | — | 1–2 | — | — | 1–0 | 0–0 | 3–3 | 4–0 | — | — |
| Orsomarso | — | — | 2–2 | 1–2 | 2–0 | 0–1 | — | 4–2 | — | — | — | — | 1–1 | 4–2 | — | 1–3 |
| Real Cartagena | — | — | 1–1 | 2–0 | 3–0 | 1–1 | — | 2–0 | — | — | 1–2 | — | 2–1 | 3–1 | — | — |
| Real Cundinamarca | 1–0 | — | — | 1–0 | 2–2 | — | — | 2–1 | 4–2 | 3–4 | — | — | — | 4–2 | — | 1–2 |
| Real Santander | 1–1 | — | — | 2–3 | 3–0 | 0–3 | — | 0–2 | 0–0 | — | — | — | — | — | 0–3 | 2–0 |
| Tigres | — | 0–1 | — | — | 0–0 | 4–0 | 0–0 | — | — | 1–1 | 0–1 | 4–2 | 1–0 | — | — | — |
| Unión Magdalena | 2–0 | 2–0 | 1–3 | — | — | — | 2–2 | — | 2–3 | 1–1 | — | 2–2 | — | — | 0–0 | — |
* ↑ Match awarded 3–0 to Atlético Huila due to Deportes Quindío fielding the suspended player Ferney Angulo. The match had ended with Deportes Quindío winning 2–1.

### Semi-finals

The eight teams that advanced to the semi-finals were drawn into two groups of four teams, with the top two teams from the first stage being seeded in each group. The two group winners advanced to the finals.

#### Group A

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | ORS | RCA | HUI | TIG |
| 1 | Orsomarso | 6 | 4 | 1 | 1 | 7 | 3 | +4 | 13 | Advance to the Finals | — | 0–0 | 1–0 | 4–1 |
| 2 | Real Cartagena | 6 | 4 | 1 | 1 | 6 | 2 | +4 | 13 | | 2–0 | — | 2–0 | 1–0 |
| 3 | Atlético Huila | 6 | 3 | 0 | 3 | 7 | 4 | +3 | 9 | | 0–1 | 2–0 | — | 4–0 |
| 4 | Tigres | 6 | 0 | 0 | 6 | 1 | 12 | −11 | 0 | | 0–1 | 0–1 | 0–1 | — |

#### Group B

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | LLA | MAG | CUC | QUI |
| 1 | Llaneros | 6 | 3 | 2 | 1 | 10 | 6 | +4 | 11 | Advance to the Finals | — | 1–1 | 2–1 | 2–0 |
| 2 | Unión Magdalena | 6 | 3 | 2 | 1 | 8 | 5 | +3 | 11 | | 2–1 | — | 2–0 | 0–0 |
| 3 | Cúcuta Deportivo | 6 | 2 | 0 | 4 | 5 | 9 | −4 | 6 | | 1–3 | 2–1 | — | 1–0 |
| 4 | Deportes Quindío | 6 | 1 | 2 | 3 | 3 | 6 | −3 | 5 | | 1–1 | 1–2 | 1–0 | — |

### Finals

Tied 2–2 on aggregate, Llaneros won on penalties.
* Torneo BetPlay DIMAYOR 2024–I winners
* Llaneros Advanced to the Grand Final

### Top scorers

| Rank | Player | Club | Goals |
| 1 | Juan Salcedo | Orsomarso | 10 |
| 2 | Andrés Carreño | Unión Magdalena | 9 |
| 2 | Lucas Farías | Atlético Huila | 9 |
| 2 | Alexis Serna | Deportes Quindío | 9 |
| 5 | Jonathan Agudelo | Cúcuta Deportivo | 8 |
| 6 | Miguel Murillo | Real Cartagena | 7 |
| 7 | Julián Angulo | Cúcuta Deportivo | 6 |
| 7 | Jhon Cabal | Real Cundinamarca | 6 |
| 7 | Robert Lara | Tigres | 6 |
| 7 | Arney Rocha | Real Cundinamarca | 6 |
| 7 | Kalazán Suárez | Internacional | 6 |
| 7 | Cristian Vergara | Bogotá | 6 |
Source: Soccerway

## Torneo II
### First stage
#### Standings

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Unión Magdalena | 16 | 10 | 4 | 2 | 26 | 13 | +13 | 34 | Advance to the semi-finals |
| 2 | Llaneros | 16 | 10 | 3 | 3 | 27 | 11 | +16 | 33 | Advance to the semi-finals |
| 3 | Real Cartagena | 16 | 10 | 2 | 4 | 24 | 9 | +15 | 32 | Advance to the semi-finals |
| 4 | Atlético Huila | 16 | 9 | 1 | 6 | 19 | 14 | +5 | 28 | Advance to the semi-finals |
| 5 | Real Cundinamarca | 16 | 7 | 4 | 5 | 17 | 13 | +4 | 25 | Advance to the semi-finals |
| 6 | Deportes Quindío | 16 | 7 | 3 | 6 | 23 | 18 | +5 | 24 | Advance to the semi-finals |
| 7 | Orsomarso | 16 | 7 | 3 | 6 | 12 | 15 | −3 | 24 | Advance to the semi-finals |
| 8 | Cúcuta Deportivo | 16 | 7 | 2 | 7 | 22 | 16 | +6 | 23 | Advance to the semi-finals |
| 9 | Barranquilla | 16 | 6 | 4 | 6 | 19 | 20 | −1 | 22 | |
| 10 | Internacional | 16 | 6 | 4 | 6 | 13 | 14 | −1 | 22 | |
| 11 | Leones | 16 | 4 | 6 | 6 | 18 | 21 | −3 | 18 | |
| 12 | Tigres | 16 | 5 | 3 | 8 | 14 | 24 | −10 | 18 | |
| 13 | Boca Juniors de Cali | 16 | 4 | 5 | 7 | 15 | 21 | −6 | 17 | |
| 14 | Bogotá | 16 | 4 | 3 | 9 | 25 | 29 | −4 | 15 | |
| 15 | Atlético | 16 | 3 | 4 | 9 | 13 | 24 | −11 | 13 | |
| 16 | Real Santander | 16 | 3 | 1 | 12 | 9 | 34 | −25 | 10 | |

#### Results

| Home \ Away | ATL | HUI | BAR | BOC | BOG | CUC | QUI | INT | LEO | LLA | ORS | RCA | RCU | RSA | TIG | MAG |
| Atlético | — | — | 1–1 | 2–0 | 3–0 | — | — | 1–1 | 2–2 | — | — | — | 1–0 | 0–1 | — | 0–2 |
| Atlético Huila | 2–1 | — | — | 0–2 | 2–1 | — | 2–1 | 1–0 | 2–1 | — | — | — | — | — | 4–0 | 1–2 |
| Barranquilla | — | 1–2 | — | 1–1 | 4–2 | 1–0 | — | — | — | 3–2 | 1–0 | 0–1 | — | — | — | 1–1 |
| Boca Juniors de Cali | 2–0 | — | — | — | — | 0–1 | — | 1–2 | — | 0–0 | 0–0 | 1–4 | 0–2 | 4–3 | — | — |
| Bogotá | — | — | — | 0–1 | — | 5–0 | — | 1–2 | — | — | 2–3 | 0–1 | 2–2 | 1–0 | 3–2 | — |
| Cúcuta Deportivo | 2–0 | 1–2 | — | — | — | — | 3–1 | — | — | 0–1 | 0–1 | 2–1 | — | 6–0 | 3–0 | — |
| Deportes Quindío | 2–2 | 0–0 | 1–0 | 3–1 | 2–2 | — | — | — | 4–0 | — | — | — | — | — | 3–1 | 1–2 |
| Internacional | — | — | 1–0 | — | — | 1–0 | 1–0 | — | — | 0–2 | 0–0 | 0–0 | 0–0 | 4–2 | — | — |
| Leones | — | — | 1–2 | 2–2 | 1–1 | 1–0 | — | 2–0 | — | — | — | — | 1–0 | 2–0 | — | 1–1 |
| Llaneros | 3–0 | 1–0 | — | — | 2–3 | — | 0–1 | — | 1–0 | — | — | — | 2–1 | — | 2–0 | 1–1 |
| Orsomarso | 1–0 | 0–1 | — | — | — | — | 0–1 | 2–1 | 1–1 | 0–3 | — | 1–0 | — | — | 1–0 | — |
| Real Cartagena | 3–0 | 1–0 | 3–0 | — | — | — | 2–0 | — | 1–0 | 1–2 | — | — | — | — | 3–1 | 2–0 |
| Real Cundinamarca | — | 1–0 | 1–2 | — | — | 1–1 | 2–1 | — | — | 1–1 | 2–0 | 2–1 | — | — | 1–0 | — |
| Real Santander | — | 1–0 | 2–1 | — | — | 0–2 | 0–2 | — | — | 0–4 | 0–2 | 0–0 | 0–1 | — | — | — |
| Tigres | 2–0 | — | 1–1 | 0–0 | 1–0 | — | — | 1–0 | 2–2 | — | — | — | — | 1–0 | — | 2–1 |
| Unión Magdalena | — | — | — | 1–0 | 3–2 | 1–1 | — | 1–0 | 2–1 | — | 3–0 | — | 1–0 | 4–0 | — | — |
* ↑ Match awarded 3–0 to Llaneros due to pitch invasion by an Orsomarso supporter. The match was ended due to lack of guarantees with a 1–1 score.
* ↑ Match suspended at halftime and awarded 3–0 to Real Cartagena since Atlético failed to present their physician for the match. The match was suspended with Real Cartagena leading 1–0.

### Semi-finals

The eight teams that advanced to the semi-finals were drawn into two groups of four teams, with the top two teams from the first stage being seeded in each group. The two group winners advanced to the finals.

#### Group A

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | MAG | CUC | RCU | HUI |
| 1 | Unión Magdalena | 6 | 3 | 1 | 2 | 6 | 3 | +3 | 10 | Advance to the Finals | — | 1–0 | 2–0 | 2–0 |
| 2 | Cúcuta Deportivo | 6 | 2 | 3 | 1 | 8 | 7 | +1 | 9 | | 2–1 | — | 1–0 | 1–1 |
| 3 | Real Cundinamarca | 6 | 2 | 2 | 2 | 3 | 4 | −1 | 8 | | 1–0 | 1–1 | — | 1–0 |
| 4 | Atlético Huila | 6 | 0 | 4 | 2 | 4 | 7 | −3 | 4 | | 0–0 | 3–3 | 0–0 | — |

#### Group B

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | LLA | RCA | ORS | QUI |
| 1 | Llaneros | 6 | 4 | 0 | 2 | 13 | 6 | +7 | 12 | Advance to the Finals | — | 5–1 | 1–0 | 4–2 |
| 2 | Real Cartagena | 6 | 4 | 0 | 2 | 9 | 8 | +1 | 12 | | 1–0 | — | 2–1 | 3–0 |
| 3 | Orsomarso | 6 | 2 | 1 | 3 | 5 | 4 | +1 | 7 | | 2–0 | 0–1 | — | 0–0 |
| 4 | Deportes Quindío | 6 | 1 | 1 | 4 | 4 | 13 | −9 | 4 | | 0–3 | 2–1 | 0–2 | — |
* 1 2 Llaneros ahead of Real Cartagena for being the group's seeded team.

### Finals

Unión Magdalena won 5–1 on aggregate.
* Torneo BetPlay DIMAYOR 2024–II winners
* Unión Magdalena Advanced to the Grand Final

### Top scorers

| Rank | Player | Club | Goals |
| 1 | Néider Ospina | Llaneros | 10 |
| 1 | Jannenson Sarmiento | Unión Magdalena | 10 |
| 3 | Michell Ramos | Cúcuta Deportivo | 9 |
| 4 | Wilfrido de La Rosa | Real Cartagena | 8 |
| 5 | José Andrade | Boca Juniors de Cali | 7 |
| 5 | Cristian Vergara | Bogotá | 7 |
| 7 | Ruyery Blanco | Unión Magdalena | 6 |
| 7 | Juan Salcedo | Real Cartagena | 6 |
| 7 | Valentín Sánchez | Unión Magdalena | 6 |
| 10 | Juan Fernando Caicedo | Llaneros | 5 |
| 10 | Brayan Castro | Bogotá | 5 |
| 10 | Geovan Montes | Llaneros | 5 |
| 10 | Arney Rocha | Real Cundinamarca | 5 |
Source: Soccerway

## Grand Final

Tied 1–1 on aggregate, Unión Magdalena won on penalties.
* Torneo BetPlay DIMAYOR 2024 champions
* Unión Magdalena 2nd title

## Aggregate table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or qualification |
| 1 | Llaneros (P) | 50 | 26 | 13 | 11 | 82 | 46 | +36 | 91 | Promotion to Categoría Primera A |
| 2 | Unión Magdalena (C, P) | 48 | 25 | 14 | 9 | 71 | 40 | +31 | 89 | Promotion to Categoría Primera A |
| 3 | Real Cartagena | 44 | 25 | 8 | 11 | 61 | 34 | +27 | 83 | |
| 4 | Atlético Huila | 44 | 25 | 5 | 14 | 55 | 34 | +21 | 80 | |
| 5 | Orsomarso | 46 | 20 | 11 | 15 | 49 | 42 | +7 | 71 | |
| 6 | Cúcuta Deportivo | 44 | 20 | 10 | 14 | 60 | 46 | +14 | 70 | |
| 7 | Deportes Quindío | 44 | 14 | 13 | 17 | 50 | 55 | −5 | 55 | |
| 8 | Real Cundinamarca | 38 | 14 | 10 | 14 | 48 | 45 | +3 | 52 | |
| 9 | Tigres | 38 | 12 | 9 | 17 | 37 | 48 | −11 | 45 | |
| 10 | Internacional | 32 | 12 | 8 | 12 | 33 | 32 | +1 | 44 | |
| 11 | Barranquilla | 32 | 10 | 10 | 12 | 38 | 38 | 0 | 40 | |
| 12 | Boca Juniors de Cali | 32 | 11 | 6 | 15 | 32 | 38 | −6 | 39 | |
| 13 | Leones | 32 | 6 | 14 | 12 | 39 | 49 | −10 | 32 | |
| 14 | Bogotá | 32 | 7 | 8 | 17 | 39 | 61 | −22 | 29 | |
| 15 | Atlético | 32 | 4 | 6 | 22 | 18 | 58 | −40 | 18 | |
| 16 | Real Santander | 32 | 5 | 3 | 24 | 23 | 69 | −46 | 18 | |

## Promotion play-off

Since the season runners-up Llaneros also ended up as the best-placed team in the aggregate table, they earned automatic promotion to Categoría Primera A and the promotion play-off was not played.