# 2024 Uruguayan Primera División season

The 2024 Liga Profesional de Primera División season, also known as the Campeonato Uruguayo de Primera División 2024, was the 121st season of the Uruguayan Primera División, Uruguay's top-flight football league, and the 94th in which it is professional. The season, which was named "100 años de Colombes", began on 16 February and ended on 2 December 2024.
Peñarol were the champions, winning their fifty-second league title after winning both the Torneo Apertura and the Torneo Clausura, as well as topping the season's aggregate table, which ensured that the championship playoff would not be played. They clinched the title after beating Fénix 3–1 on the final round of the Torneo Clausura played on 1 December. Liverpool were the defending champions.

## Teams

16 teams competed in the season: the top thirteen teams in the relegation table of the 2023 season as well as three promoted teams from the Segunda División. The three lowest placed teams in the relegation table of the 2023 season (Montevideo City Torque, Plaza Colonia and La Luz) were relegated to the Segunda División for the 2024 season. They were replaced by the Segunda División champions Miramar Misiones, runners-up Progreso, and the winners of the promotion play-offs Rampla Juniors.
Miramar Misiones, Progreso and Rampla Juniors returned to the top flight after nine, two and four seasons, respectively. On the other hand, La Luz were relegated after one season, Montevideo City Torque were relegated after four seasons and Plaza Colonia returned to the second tier after five seasons.

### Stadiums and locations

| Club | City | Stadium | Capacity |
| Boston River | Florida | Campeones Olímpicos | 5,124 |
| Cerro | Montevideo | Luis Tróccoli | 25,000 |
| Cerro Largo | Melo | Antonio Ubilla | 9,000 |
| Danubio | Montevideo | Jardines del Hipódromo | 18,000 |
| Defensor Sporting | Montevideo | Luis Franzini | 18,000 |
| Deportivo Maldonado | Maldonado | Domingo Burgueño Miguel | 22,000 |
| Fénix | Montevideo | Parque Capurro | 10,000 |
| Liverpool | Montevideo | Belvedere | 10,000 |
| Miramar Misiones | Montevideo | Parque Luis Méndez Piana | 6,500 |
| Montevideo Wanderers | Montevideo | Parque Alfredo Víctor Viera | 11,000 |
| Nacional | Montevideo | Gran Parque Central | 34,000 |
| Peñarol | Montevideo | Campeón del Siglo | 40,700 |
| Progreso | Montevideo | Parque Abraham Paladino | 8,000 |
| Racing | Montevideo | Osvaldo Roberto | 8,500 |
| Rampla Juniors | Montevideo | Olímpico | 9,500 |
| River Plate | Montevideo | Parque Federico Omar Saroldi | 6,000 |

### Personnel and kits

| Team | Manager | Kit maker | Shirt sponsor(s) | Shirt sponsor(s) |
| Team | Manager | Kit maker | Main | Other |
| Boston River | Jadson Viera | Kelme | Asociación Española | List Front: Cotrans, Schneider, DirecTV Back: Carnicería Que Locura, El Galleguito, DirecTV, EGA Rutas del Plata Sleeves: Antel Sides: None Shorts: Tiffosi |
| Cerro | Ignacio Pallas | MGR Sport | Médica Uruguaya | List Front: Refrescos Jazz Back: Refresco Limol, GOL TV, EGA Rutas del Plata Sleeves: Antel Sides: Automotora Mar Motors Shorts: Montevideo Cortinas, A Mano Alimentos Seleccionados, La Farola Pizzeria, Refresco Limol |
| Cerro Largo | Danielo Núñez | Concreto Sport | Link-Belt Excavators | List Front: None Back: Woslen Agrovial, Decatur Viajes Sleeves: Antel Sides: None Shorts: None |
| Danubio | Alejandro Apud | MGR Sport | None | List Front: None Back: Grupo Olmos, Asociación Española, EGA Rutas del Plata Sleeves: Antel Sides: None Shorts: Montevideo COMM |
| Defensor Sporting | Álvaro Navarro | Puma | Médica Uruguaya | List Front: Prex Back: BYD, EGA Rutas del Plata Sleeves: Antel Sides: None Shorts: Montevideo COMM |
| Deportivo Maldonado | Martín Piñeyro | Joma | Enjoy Punta del Este | List Front: None Back: Agua Mineral Nativa Sleeves: Antel Sides: DirecTV Shorts: None |
| Fénix | Carlos Britos Juan Quefan (caretakers) | MGR Sport | Cousa | List Front: Fagar, Cortiluz Cortinas, CobraTicket Back: Districad, EGA Rutas del Plata, Asociación Española, El Centro del Kinesiólogo Sleeves: Antel Sides: None Shorts: DT Importaciones |
| Liverpool | Joaquín Papa | MGR Sport | Molino Puritas | List Front: Aída, Suprabond Back: Del Cebador Yerba Mate, Médica Uruguaya Sleeves: Antel Sides: Mann-Filter Shorts: Barcatti, Schneider |
| Miramar Misiones | Walter Pandiani | MGR Sport | Talent Management Associates | List Front: Cortiluz Cortinas Back: Amaya Motor, EGA Rutas del Plata Sleeves: Antel Sides: None Shorts: Talent Management Associates, Planet Travel |
| Montevideo Wanderers | Antonio Pacheco | Umbro | BYD | List Front: None Back: Suprabond Sleeves: Antel Sides: CASMU Shorts: None |
| Nacional | Martín Lasarte | Umbro | Antel | List Front: BBVA Back: Sarubbi, Assist Card Sleeves: Turil Sides: DirecTV Shorts: Nacional TV+, Rexona |
| Peñarol | Diego Aguirre | Puma | Antel | List Front: None Back: Sarubbi, Médica Uruguaya, Nuñez Transporte Sleeves: BBVA Sides: None Shorts: Rexona |
| Progreso | Carlos Canobbio | MGR Sport | Médica Uruguaya | List Front: Cortiluz Cortinas Back: Grupo Gamma, Café Cefa, EGA Rutas del Plata Sleeves: Antel Sides: Tankes Shorts: None |
| Racing | Eduardo Espinel | Macron | DirecTV | List Front: Alfajores Punta Ballena Back: Claldy, Asociación Española, Ebe Pinturas, EGA Rutas del Plata Sleeves: Antel Sides: None Shorts: None |
| Rampla Juniors | Edgar Martínez | MGR Sport | El Clon Supermercados | List Front: Zureo Software, Discarvi, Tsakos, Cortiluz Cortinas, Schneider Back: DirecTV, EGA Rutas del Plata, El Rey del Pollo, Etchenique Automóviles Sleeves: Antel Sides: Eco Fruticola Abraham J. Ceretta Shorts: Camblor Bienes Raíces, El Buen Gusto Pastas, Supermercado Mundo Frutal |
| River Plate | Francisco Palladino | MGR Sport | Macromercado | List Front: Silveira Agronegocios Back: Jetour, EGA Rutas del Plata, CASMU Sleeves: Antel Sides: None Shorts: Confitería Esmeralda, Agua Sirte |

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment |
| Torneo Apertura |||||||
| Defensor Sporting | Marcelo Méndez | End of contract | 7 December 2023 | Pre-season | Martín Varini | 7 December 2023 |
| Cerro Largo | Juan Jacinto Rodríguez | End of caretaker spell | 15 December 2023 | Pre-season | Bruno Silva | 15 December 2023 |
| Deportivo Maldonado | Fabián Coito | Mutual agreement | 15 December 2023 | Pre-season | Joaquín Boghossian | 21 December 2023 |
| Boston River | Alejandro Apud | Mutual agreement | 18 December 2023 | Pre-season | Jadson Viera | 18 December 2023 |
| Liverpool | Jorge Bava | Resigned | 19 December 2023 | Pre-season | Emiliano Alfaro | 21 December 2023 |
| Cerro | Damián Santín | End of contract | 3 January 2024 | Pre-season | Ignacio Pallas | 5 January 2024 |
| Rampla Juniors | Nicolás Vigneri | End of contract | 30 January 2024 | Pre-season | Martín García | 2 February 2024 |
| Fénix | Leonel Rocco | Sacked | 3 March 2024 | 12th | Nicolás Vigneri | 4 March 2024 |
| Montevideo Wanderers | Alejandro Cappuccio | Sacked | 7 March 2024 | 13th | Antonio Pacheco | 9 March 2024 |
| Miramar Misiones | Leonardo Medina | Sacked | 24 March 2024 | 16th | Horacio Peralta | 28 March 2024 |
| Rampla Juniors | Martín García | Mutual agreement | 27 March 2024 | 14th | Juan Guillermo Castillo | 27 March 2024 |
| Miramar Misiones | Horacio Peralta | End of caretaker spell | 6 April 2024 | 13th | Ricardo Caruso Lombardi | 3 April 2024 |
| Rampla Juniors | Juan Guillermo Castillo | End of caretaker spell | 10 April 2024 | 15th | Edgar Martínez | 10 April 2024 |
| Danubio | Mario Saralegui | Sacked | 15 April 2024 | 9th | Alejandro Apud | 17 April 2024 |
| Miramar Misiones | Ricardo Caruso Lombardi | Resigned | 22 May 2024 | 16th | Santiago Kalemkerian | 22 May 2024 |
| Miramar Misiones | Santiago Kalemkerian | End of caretaker spell | 27 May 2024 | 16th | Walter Pandiani | 27 May 2024 |
| Deportivo Maldonado | Joaquín Boghossian | Sacked | 28 May 2024 | 11th | Gustavo Díaz | 30 May 2024 |
| Torneo Intermedio |||||||
| Nacional | Álvaro Recoba | Mutual agreement | 10 June 2024 | Serie B, 8th | Martín Lasarte | 14 June 2024 |
| River Plate | Ignacio Ithurralde | Sacked | 15 June 2024 | Serie A, 5th | Francisco Palladino | 17 June 2024 |
| Cerro Largo | Bruno Silva | Resigned | 3 July 2024 | Serie B, 5th | Juan Jacinto Rodríguez | 3 July 2024 |
| Defensor Sporting | Martín Varini | Resigned | 7 July 2024 | Serie A, 2nd | Álvaro Navarro | 8 July 2024 |
| Cerro Largo | Juan Jacinto Rodríguez | End of caretaker spell | 27 July 2024 | Serie B, 2nd | Danielo Núñez | 25 July 2024 |
| Torneo Clausura |||||||
| Deportivo Maldonado | Gustavo Díaz | Mutual agreement | 1 October 2024 | 16th | Martín Piñeyro | 2 October 2024 |
| Liverpool | Emiliano Alfaro | Mutual agreement | 6 October 2024 | 12th | Gustavo Ferrín | 7 October 2024 |
| Liverpool | Gustavo Ferrín | End of caretaker spell | 17 October 2024 | 14th | Joaquín Papa | 17 October 2024 |
| Fénix | Nicolás Vigneri | Resigned | 14 November 2024 | 11th | Carlos Britos Juan Quefan | 15 November 2024 |

#### Notes

* ↑ Juan Manuel Martínez was the caretaker manager for the Torneo Apertura 4th round match against Deportivo Maldonado.
* 1 2 3 4 5 Caretaker manager.
* ↑ Rafael García was the caretaker manager for the Torneo Intermedio 2nd round match against Liverpool.
* ↑ Caretaker managers until the end of the season.

## Torneo Apertura

The Torneo Apertura, named "100 años de la vuelta Olímpica", was the first tournament of the 2024 season. It began on 16 February and ended on 4 June 2024.

### Standings

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Peñarol | 15 | 13 | 2 | 0 | 31 | 7 | +24 | 41 | Qualification for Championship playoff |
| 2 | Nacional | 15 | 10 | 4 | 1 | 31 | 16 | +15 | 34 | |
| 3 | Defensor Sporting | 15 | 8 | 4 | 3 | 31 | 17 | +14 | 28 | |
| 4 | Boston River | 15 | 8 | 3 | 4 | 21 | 17 | +4 | 27 | |
| 5 | Progreso | 15 | 7 | 3 | 5 | 25 | 25 | 0 | 24 | |
| 6 | Cerro Largo | 15 | 6 | 3 | 6 | 16 | 16 | 0 | 21 | |
| 7 | Racing | 15 | 5 | 4 | 6 | 22 | 22 | 0 | 19 | |
| 8 | Liverpool | 15 | 4 | 6 | 5 | 22 | 24 | −2 | 18 | |
| 9 | Montevideo Wanderers | 15 | 5 | 3 | 7 | 15 | 20 | −5 | 18 | |
| 10 | Cerro | 15 | 4 | 5 | 6 | 19 | 25 | −6 | 17 | |
| 11 | Deportivo Maldonado | 15 | 4 | 3 | 8 | 14 | 19 | −5 | 15 | |
| 12 | Rampla Juniors | 15 | 4 | 3 | 8 | 15 | 27 | −12 | 15 | |
| 13 | River Plate | 15 | 3 | 5 | 7 | 20 | 25 | −5 | 14 | |
| 14 | Danubio | 15 | 3 | 5 | 7 | 13 | 19 | −6 | 14 | |
| 15 | Fénix | 15 | 3 | 4 | 8 | 11 | 17 | −6 | 13 | |
| 16 | Miramar Misiones | 15 | 2 | 5 | 8 | 18 | 28 | −10 | 11 | |

### Results

| Home \ Away | BOR | CRR | CRL | DAN | DFS | DMA | FEN | LIV | MIM | WAN | NAC | PEÑ | PRO | RAC | RAM | RIV |
| Boston River | — | 2–0 | — | 0–0 | 2–2 | — | — | 1–1 | 3–1 | — | 1–3 | 1–3 | — | — | — | — |
| Cerro | — | — | 1–1 | 2–0 | — | — | 0–0 | — | — | 1–1 | 1–2 | — | 2–3 | — | 3–0 | 3–2 |
| Cerro Largo | 2–0 | — | — | — | — | — | 0–0 | — | — | — | — | 1–2 | — | 0–2 | 2–0 | — |
| Danubio | — | — | 1–1 | — | — | 1–1 | — | — | — | 0–2 | — | — | 1–1 | 0–1 | 1–1 | — |
| Defensor Sporting | — | 5–0 | 3–1 | 1–0 | — | — | — | — | 3–0 | 2–2 | 3–3 | 0–2 | — | — | — | 2–1 |
| Deportivo Maldonado | 1–2 | 3–0 | 0–1 | — | 1–0 | — | 0–1 | — | 1–2 | — | 0–2 | 1–2 | — | — | — | — |
| Fénix | 1–2 | — | — | 1–2 | 0–2 | — | — | 1–3 | — | 1–2 | — | 0–1 | 1–0 | — | — | 0–0 |
| Liverpool | — | 0–3 | 2–1 | 1–2 | 1–1 | 1–2 | — | — | 2–1 | — | 1–1 | 2–2 | — | — | 1–2 | 1–1 |
| Miramar Misiones | — | 2–2 | 1–2 | 3–5 | — | — | 1–1 | — | — | 2–0 | 1–2 | — | 2–3 | — | — | 0–0 |
| Montevideo Wanderers | 0–2 | — | 1–0 | — | — | 0–0 | — | 2–3 | — | — | — | — | 2–0 | 0–1 | 2–1 | — |
| Nacional | — | — | 1–0 | 1–0 | — | — | 1–4 | — | — | 3–0 | — | — | 0–0 | 4–2 | 6–2 | 2–1 |
| Peñarol | — | 3–0 | — | 2–0 | — | — | — | — | 2–0 | 1–0 | 0–0 | — | 3–1 | — | — | 3–0 |
| Progreso | 1–0 | — | 0–1 | — | 1–4 | 3–1 | — | 2–1 | — | — | — | — | — | 4–3 | 4–2 | — |
| Racing | 1–2 | 1–1 | — | — | 1–2 | 0–1 | 2–0 | 2–2 | 1–1 | — | — | 1–2 | — | — | — | — |
| Rampla Juniors | 0–1 | — | — | — | 2–1 | 1–1 | 1–0 | — | 1–1 | — | — | 0–3 | — | 0–1 | — | — |
| River Plate | 1–2 | — | 2–3 | 1–0 | — | 3–1 | — | — | — | 3–1 | — | — | 2–2 | 3–3 | 0–2 | — |

## Torneo Intermedio

The Torneo Intermedio, named "Atilio Narancio", was the second tournament of the 2024 season, played between the Apertura and Clausura tournaments. It consisted of two groups whose composition depended on the final standings of the Torneo Apertura: teams in odd-numbered positions played in Serie A, and teams in even-numbered positions played in Serie B. It started on 8 June and ended on 4 August, and the winners were assured of a berth into the 2025 Copa Sudamericana and the 2025 Supercopa Uruguaya.

### Serie A

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | PEÑ | WAN | DFS | FEN | RIV | PRO | RAC | DMA |
| 1 | Peñarol | 7 | 4 | 2 | 1 | 10 | 5 | +5 | 14 | Advance to Torneo Intermedio Final | — | — | 1–0 | 2–0 | — | — | 1–1 | 1–1 |
| 2 | Montevideo Wanderers | 7 | 4 | 1 | 2 | 11 | 9 | +2 | 13 | | 2–0 | — | — | — | 1–3 | 4–2 | — | 1–0 |
| 3 | Defensor Sporting | 7 | 3 | 2 | 2 | 7 | 5 | +2 | 11 | | — | 1–1 | — | — | 0–1 | 1–1 | — | — |
| 4 | Fénix | 7 | 3 | 1 | 3 | 10 | 9 | +1 | 10 | | — | 3–1 | 1–2 | — | 1–0 | 1–1 | — | — |
| 5 | River Plate | 7 | 2 | 2 | 3 | 8 | 9 | −1 | 8 | | 1–3 | — | — | — | — | — | 2–2 | 1–1 |
| 6 | Progreso | 7 | 2 | 2 | 3 | 8 | 11 | −3 | 8 | | 0–2 | — | — | — | 1–0 | — | 3–2 | 0–1 |
| 7 | Racing | 7 | 1 | 3 | 3 | 8 | 10 | −2 | 6 | | — | 0–1 | 0–1 | 2–1 | — | — | — | — |
| 8 | Deportivo Maldonado | 7 | 1 | 3 | 3 | 5 | 9 | −4 | 6 | | — | — | 0–2 | 1–3 | — | — | 1–1 | — |

### Serie B

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | NAC | DAN | CRL | CRR | MIM | RAM | BOR | LIV |
| 1 | Nacional | 7 | 5 | 1 | 1 | 18 | 5 | +13 | 16 | Advance to Torneo Intermedio Final | — | — | — | — | 4–0 | 1–1 | 1–0 | 2–1 |
| 2 | Danubio | 7 | 4 | 2 | 1 | 11 | 11 | 0 | 14 | | 0–6 | — | — | — | — | 2–0 | — | 2–0 |
| 3 | Cerro Largo | 7 | 3 | 2 | 2 | 6 | 7 | −1 | 11 | | 0–4 | 2–2 | — | — | — | 0–1 | — | 1–0 |
| 4 | Cerro | 7 | 3 | 1 | 3 | 8 | 5 | +3 | 10 | | 3–0 | 0–0 | 0–1 | — | — | 4–1 | — | — |
| 5 | Miramar Misiones | 7 | 3 | 1 | 3 | 7 | 10 | −3 | 10 | | — | 2–3 | 0–0 | 1–0 | — | — | — | — |
| 6 | Rampla Juniors | 7 | 2 | 2 | 3 | 8 | 12 | −4 | 8 | | — | — | — | — | 1–2 | — | 1–1 | 3–2 |
| 7 | Boston River | 7 | 2 | 1 | 4 | 6 | 8 | −2 | 7 | | — | 1–2 | 0–2 | 2–0 | 2–1 | — | — | — |
| 8 | Liverpool | 7 | 1 | 0 | 6 | 4 | 10 | −6 | 3 | | — | — | — | 0–1 | 0–1 | — | 1–0 | — |

### Torneo Intermedio Final
## Torneo Clausura

The Torneo Clausura, named "José Nasazzi", was the third and last tournament of the 2024 season. It began on 16 August and ended on 2 December 2024.

### Standings

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Peñarol | 15 | 12 | 2 | 1 | 32 | 5 | +27 | 38 | Qualification for Championship playoff |
| 2 | Nacional | 15 | 11 | 3 | 1 | 37 | 11 | +26 | 36 | |
| 3 | Racing | 15 | 7 | 6 | 2 | 16 | 10 | +6 | 27 | |
| 4 | Boston River | 15 | 8 | 2 | 5 | 19 | 15 | +4 | 26 | |
| 5 | Danubio | 15 | 6 | 7 | 2 | 14 | 7 | +7 | 25 | |
| 6 | Cerro Largo | 15 | 6 | 4 | 5 | 15 | 11 | +4 | 22 | |
| 7 | Defensor Sporting | 15 | 5 | 5 | 5 | 17 | 17 | 0 | 20 | |
| 8 | Miramar Misiones | 15 | 4 | 7 | 4 | 11 | 15 | −4 | 19 | |
| 9 | Liverpool | 15 | 4 | 6 | 5 | 15 | 16 | −1 | 18 | |
| 10 | River Plate | 15 | 5 | 3 | 7 | 15 | 20 | −5 | 18 | |
| 11 | Montevideo Wanderers | 15 | 4 | 5 | 6 | 15 | 20 | −5 | 17 | |
| 12 | Rampla Juniors | 15 | 4 | 4 | 7 | 12 | 19 | −7 | 16 | |
| 13 | Fénix | 15 | 4 | 2 | 9 | 14 | 28 | −14 | 14 | |
| 14 | Cerro | 15 | 2 | 6 | 7 | 9 | 20 | −11 | 12 | |
| 15 | Deportivo Maldonado | 15 | 2 | 3 | 10 | 12 | 24 | −12 | 9 | |
| 16 | Progreso | 15 | 1 | 5 | 9 | 9 | 24 | −15 | 8 | |

### Results

| Home \ Away | BOR | CRR | CRL | DAN | DFS | DMA | FEN | LIV | MIM | WAN | NAC | PEÑ | PRO | RAC | RAM | RIV |
| Boston River | — | — | 3–0 | — | — | 1–0 | 2–0 | — | — | 3–2 | — | — | 1–0 | 1–2 | 1–0 | 3–1 |
| Cerro | 0–0 | — | — | — | 1–1 | 0–0 | — | 1–3 | 0–1 | — | — | 0–5 | — | 1–1 | — | — |
| Cerro Largo | — | 3–1 | — | 0–0 | 3–0 | 1–0 | — | 0–0 | 1–2 | 4–0 | 0–1 | — | 2–1 | — | — | 1–0 |
| Danubio | 2–0 | 0–0 | — | — | 1–1 | — | 1–0 | 1–0 | 1–0 | — | 0–0 | 0–1 | — | — | — | 3–0 |
| Defensor Sporting | 1–2 | — | — | — | — | 3–1 | 1–0 | 2–1 | — | — | — | — | 3–0 | 1–2 | 1–2 | — |
| Deportivo Maldonado | — | — | — | 3–1 | — | — | — | 0–1 | — | 1–3 | — | — | 2–2 | 0–1 | 1–1 | 0–1 |
| Fénix | — | 1–3 | 1–0 | — | — | 1–2 | — | — | 0–0 | — | 0–6 | — | — | 0–2 | 1–0 | — |
| Liverpool | 1–1 | — | — | — | — | — | 1–2 | — | — | 1–1 | — | — | 2–1 | 1–1 | — | — |
| Miramar Misiones | 1–0 | — | — | — | 0–0 | 1–0 | — | 2–2 | — | — | — | 1–2 | — | 2–2 | 0–0 | — |
| Montevideo Wanderers | — | 1–0 | — | 2–2 | 1–1 | — | 1–2 | — | 2–0 | — | 0–2 | 0–2 | — | — | — | 0–1 |
| Nacional | 3–1 | 2–0 | — | — | 1–1 | 5–2 | — | 1–0 | 5–1 | — | — | 2–1 | — | — | — | — |
| Peñarol | 2–0 | — | 0–0 | — | 2–0 | 2–0 | 3–1 | 2–0 | — | — | — | — | — | 0–0 | 4–0 | — |
| Progreso | — | 0–1 | — | 0–0 | — | — | 2–2 | — | 0–0 | 0–0 | 0–3 | 1–5 | — | — | — | 2–0 |
| Racing | — | — | 0–0 | 0–0 | — | — | — | — | — | 0–1 | 0–2 | — | 1–0 | — | 2–1 | 2–0 |
| Rampla Juniors | — | 1–1 | 2–0 | 0–2 | — | — | — | 0–1 | — | 1–1 | 2–1 | — | 2–0 | — | — | 0–3 |
| River Plate | — | 1–0 | — | — | 0–1 | — | 4–3 | 1–1 | 0–0 | — | 3–3 | 0–1 | — | — | — | — |

## Aggregate table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Peñarol (C) | 37 | 29 | 6 | 2 | 73 | 17 | +56 | 93 | Qualification for Copa Libertadores group stage |
| 2 | Nacional | 37 | 26 | 8 | 3 | 86 | 32 | +54 | 86 | Qualification for Copa Libertadores group stage |
| 3 | Boston River | 37 | 18 | 6 | 13 | 46 | 40 | +6 | 60 | Qualification for Copa Libertadores second stage |
| 4 | Defensor Sporting | 37 | 16 | 11 | 10 | 55 | 39 | +16 | 59 | Qualification for Copa Libertadores first stage |
| 5 | Cerro Largo | 37 | 15 | 9 | 13 | 37 | 34 | +3 | 54 | Qualification for Copa Sudamericana first stage |
| 6 | Danubio | 37 | 13 | 14 | 10 | 38 | 37 | +1 | 53 | Qualification for Copa Sudamericana first stage |
| 7 | Racing | 37 | 13 | 13 | 11 | 46 | 42 | +4 | 52 | Qualification for Copa Sudamericana first stage |
| 8 | Montevideo Wanderers | 37 | 13 | 9 | 15 | 41 | 49 | −8 | 48 | Qualification for Copa Sudamericana first stage |
| 9 | River Plate | 37 | 10 | 10 | 17 | 43 | 54 | −11 | 40 | |
| 10 | Miramar Misiones | 37 | 9 | 13 | 15 | 36 | 53 | −17 | 40 | |
| 11 | Progreso | 37 | 10 | 10 | 17 | 42 | 60 | −18 | 40 | |
| 12 | Liverpool | 37 | 9 | 12 | 16 | 41 | 50 | −9 | 39 | |
| 13 | Cerro | 37 | 9 | 12 | 16 | 36 | 50 | −14 | 39 | |
| 14 | Rampla Juniors | 37 | 10 | 9 | 18 | 35 | 58 | −23 | 39 | |
| 15 | Fénix | 37 | 10 | 7 | 20 | 35 | 54 | −19 | 37 | |
| 16 | Deportivo Maldonado | 37 | 7 | 9 | 21 | 31 | 52 | −21 | 30 | |

## Championship playoff

Since Peñarol won both the Apertura and Clausura tournaments, they became champions automatically and the championship playoff was not played. Nacional became runners-up as the second-placed team in the aggregate table. Both teams qualified for the 2025 Copa Libertadores group stage.
* Primera División 2024 champions
* Peñarol 52nd title

## Top scorers

| Rank | Player | Club | Goals |
| 1 | Leonardo Fernández | Peñarol | 16 |
| 2 | Bruno Damiani | Boston River | 13 |
| 3 | Octavio Rivero | Defensor Sporting | 12 |
| 4 | Alexander Machado | Miramar Misiones | 11 |
| 4 | Joaquín Lavega | River Plate | 11 |
| 4 | Nicolás López | Nacional | 11 |
| 7 | Agustín Alaniz | Racing | 10 |
| 7 | Sebastián Fernández | Danubio | 10 |
| 7 | Emiliano Gómez | Boston River | 10 |
| 7 | Franco López | Progreso | 10 |
| 7 | Dylan Nandín | Racing | 10 |
Source: AUF

## Relegation

Relegation was determined at the end of the season by computing an average of the total of points earned per game over the two most recent seasons: 2023 and 2024. The three teams with the lowest average at the end of the season were relegated to the Segunda División for the following season.
| Pos | Team | 2023 Pts | 2024 Pts | Total Pts | Total Pld | Avg | Relegation |
| 1 | Peñarol | 69 | 93 | 162 | 74 | 2.189 | |
| 2 | Nacional | 64 | 86 | 150 | 74 | 2.027 | |
| 3 | Defensor Sporting | 60 | 59 | 119 | 74 | 1.608 | |
| 4 | Liverpool | 72 | 39 | 111 | 74 | 1.5 | |
| 5 | Cerro Largo | 50 | 54 | 104 | 74 | 1.405 | |
| 6 | Racing | 50 | 52 | 102 | 74 | 1.378 | |
| 7 | Danubio | 48 | 53 | 101 | 74 | 1.365 | |
| 8 | Boston River | 41 | 60 | 101 | 74 | 1.365 | |
| 9 | Montevideo Wanderers | 50 | 48 | 98 | 74 | 1.324 | |
| 10 | River Plate | 48 | 40 | 88 | 74 | 1.189 | |
| 11 | Cerro | 43 | 39 | 82 | 74 | 1.108 | |
| 12 | Miramar Misiones | — | 40 | 40 | 37 | 1.081 | |
| 13 | Progreso | — | 40 | 40 | 37 | 1.081 | |
| 14 | Rampla Juniors (R) | — | 39 | 39 | 37 | 1.054 | Relegation to Segunda División |
| 15 | Fénix (R) | 37 | 37 | 74 | 74 | 1 | Relegation to Segunda División |
| 16 | Deportivo Maldonado (R) | 43 | 30 | 73 | 74 | 0.986 | Relegation to Segunda División |

## Attendances

Apertura:
| # | Football club | Average attendance |
| 1 | CA Peñarol | 18,691 |
| 2 | Club Nacional de Football | 18,055 |
| 3 | Cerro Largo FC | 4,384 |
| 4 | Deportivo Maldonado | 3,703 |
| 5 | Rampla Juniors | 3,295 |
| 6 | Defensor Sporting | 2,074 |
| 7 | CA Cerro | 1,688 |
| 8 | Boston River | 1,536 |
| 9 | Liverpool Fútbol Club | 1,487 |
| 10 | CA Fénix | 1,237 |
| 11 | Racing Montevideo | 1,193 |
| 12 | CA Progreso | 1,171 |
| 13 | CARP | 1,090 |
| 14 | Danubio FC | 1,063 |
| 15 | Miramar Misiones | 936 |
| 16 | Montevideo Wanderers | 793 |
Clausura:
| # | Football club | Average attendance |
| 1 | CA Peñarol | 21,800 |
| 2 | Club Nacional de Football | 21,000 |
| 3 | CA Progreso | 3,963 |
| 4 | Miramar Misiones | 3,317 |
| 5 | Danubio FC | 2,428 |
| 6 | Montevideo Wanderers | 2,275 |
| 7 | Racing Montevideo | 1,893 |
| 8 | Rampla Juniors | 1,821 |
| 9 | CARP | 1,557 |
| 10 | Cerro Largo FC | 1,222 |
| 11 | CA Cerro | 1,121 |
| 12 | Defensor Sporting | 992 |
| 13 | CA Fénix | 957 |
| 14 | Liverpool Fútbol Club | 640 |
| 15 | Deportivo Maldonado | 375 |
| 16 | Boston River | 319 |