# 2019 Liga 1 (Indonesia)

The 2019 Liga 1, also known as Shopee Liga 1 for sponsorship reasons, was the 3th season of Liga 1 under its current name and the 10th season of the top-flight Indonesian professional league for association football clubs since its establishment in 2008. The season started on 15 May 2019 and finished on 22 December 2019. Fixtures for the 2019 season were announced on 7 May 2019.
Persija were the defending champions. PSS, Semen Padang, and Kalteng Putra joined as the promoted teams from the 2018 Liga 2. They replace Mitra Kukar, Sriwijaya, and PSMS who were relegated to the 2019 Liga 2.
On 2 December 2019, Bali United won the championship for the first time in their history, becoming the seventh club to win the Liga 1 following a win against Semen Padang, after second-placed Borneo drew against PSM, giving Bali United a 17-point lead with only four games left.

## Teams

Eighteen teams competed in the league – the top fifteen teams from the previous season and the three teams promoted from the Liga 2. The new teams this season were PSS, Semen Padang, and Kalteng Putra, who replaced Mitra Kukar, Sriwijaya, and PSMS.

### Name changes

* PS TIRA merged with Persikabo into TIRA-Persikabo and relocated to Cibinong.
* Perseru relocated to Bandar Lampung and were renamed to Badak Lampung.

### Stadiums and locations

| Team | Location | Stadium | Capacity |
| Arema | Malang | Kanjuruhan | 42,449 |
| Badak Lampung | Bandar Lampung | Sumpah Pemuda | 15,000 |
| Bali United | Gianyar | Kapten I Wayan Dipta | 25,081 |
| Barito Putera | Martapura | Demang Lehman | 15,000 |
| Bhayangkara | Jakarta | PTIK | 3,000 |
| Borneo | Samarinda | Segiri | 16,000 |
| Kalteng Putra | Palangka Raya | Tuah Pahoe | 5,000 |
| Madura United | Pamekasan | Gelora Madura | 15,000 |
| Persebaya | Surabaya | Gelora Bung Tomo | 55,000 |
| Persela | Lamongan | Surajaya | 16,000 |
| Persib | Bandung | Si Jalak Harupat | 27,000 |
| Persija | Jakarta | Gelora Bung Karno | 77,193 |
| Persipura | Jayapura | Mandala | 30,000 |
| PSIS | Magelang | Moch. Soebroto | 20,000 |
| PSM | Makassar | Andi Mattalata | 15,000 |
| PSS | Sleman | Maguwoharjo | 31,700 |
| Semen Padang | Padang | Haji Agus Salim | 15,000 |
| TIRA-Persikabo | Cibinong | Pakansari | 30,000 |
Notes:
* ↑ Arema also registered Gajayana as their home stadium.
* ↑ Barito Putera played the rest of their home matches at Demang Lehman due to the renovation of their stadium at May 17th.
* ↑ Bhayangkara also registered Patriot Candrabhaga and Madya Senayan as their home stadium as PTIK was renovated during the competition.
* ↑ Kalteng Putra played some of the early home matches at the Sultan Agung, Bantul because Tuah Pahoe was still under renovation.
* ↑ Madura United played their home matches in the second half of the season at Gelora Bangkalan, Bangkalan because Gelora Madura was renovated to meet AFC requirements.
* ↑ Persija also registered Patriot Candrabhaga, Madya Senayan, and Wibawa Mukti as their backup stadium if they don't have police permit to hold the match in Gelora Bung Karno.
* ↑ Persipura played their home matches in the second half of the season at either Gelora Delta, Sidoarjo or Aji Imbut, Tenggarong starting from September 2019 because Mandala was being renovated for 2020 Indonesian National Games (PON XX).
* ↑ PSIS played their home matches at Moch. Soebroto because the rebuilding of their stadium at Jatidiri isn't finished yet.

### Personnel and kits

Note: Flags indicate national team as has been defined under FIFA eligibility rules. Players and coaches may hold more than one non-FIFA nationality.
| Team | Head Coach | Captain | Kit manufacturer | Shirt Sponsor(s) |
| Arema | Milomir Šešlija | Hamka Hamzah | Made by Club | Corsa, Achilles, Indomie, Gojek, Joseph Refo Investment Inc, Torabika Duo |
| Badak Lampung | Milan Petrović | Talaohu Musafri | Made by Club | Bukalapak, Kredit Plus, Sunpride |
| Bali United | Stefano Cugurra | Fadil Sausu | Made by Club | Mobil, Gojek, Envi, Torabika, Indofood, Smartfren, Bank Ina, Achilles, KukuBima Ener-G!, YCAB Foundation, Ottopay, Elevenia, Indomie, Buana Capital, ACA Asuransi, Kresna Securities, PEDE Ponsel Duit |
| Barito Putera | Djadjang Nurdjaman | Rizky Pora | Made by Club | Hasnur Group, Jhonlin Group, Haji Maming |
| Bhayangkara | Paul Munster | Indra Kahfi | Lotto | Bank BRI, Gojek, Go-Pay, Jatim Park 2, Bright Gas, Jasa Raharja |
| Borneo | Mario Gómez | Diego Michiels | Made by Club | Fun88 Bola, Shinhan Bank, Ansaf, BIB, KukuBima Ener-G!, GlowOne |
| Kalteng Putra | Gomes de Olivera | I Gede Sukadana | MBB | Halo Dayak, Bank Kalteng |
| Madura United | Rasiman | Greg Nwokolo | MBB | Lion Group, Buccheri, Pojur, Integra Group, Insight, Tiket.com |
| Persebaya | Aji Santoso | Ruben Sanadi | Made by Club | Safe Care, Kapal Api, Gojek, Antangin, Reliance, MPM Distributor Honda |
| Persela | Nil Maizar | Eky Taufik | Forium | So Nice, North Cliff |
| Persib | Robert Alberts | Supardi Nasir | Sportama | Pria Punya Selera, Salvus, Elevenia, Halodoc, Corsa, Indofood, Mobil, Gojek, Permata Bank Syariah, Azzuri, Kopi ABC, Didimax, Envi, Indomie |
| Persija | Edson Tavares | Andritany Ardhiyasa | Specs | Bank DKI, Krating Daeng, Indomie, Rasuna Epicentrum, Jungleland Sentul, Gojek, Tolak Angin |
| Persipura | Jacksen F. Tiago | Boaz Solossa | Specs | PT Freeport Indonesia, Bank Papua |
| PSIS | Bambang Nurdiansyah | Wallace Costa | RIORS | Gojek, Indomie, KukuBima Ener-G! |
| PSM | Darije Kalezić | Wiljan Pluim | Umbro | Semen Bosowa, Honda, KukuBima Ener-G!, Kalla Group |
| PSS | Seto Nurdiantoro | Bagus Nirwanto | Sembada | Indomie, Gojek, Muncul Group, Curva Sud Shop |
| Semen Padang | Eduardo Almeida | Dedi Gusmawan | Lotto | Corsa, Oxygen, Semen Indonesia, Torabika |
| TIRA-Persikabo | Igor Kriushenko | Manahati Lestusen | MBB | Sequis, Kresna Securities, Artha Graha Peduli Foundation, M88FC, Oasis Waters |
Notes:
* ^ On the front of shirt.
* ^ On the back of shirt.
* ^ On the sleeves.
* ^ On the shorts.
Additionally, referee kits are made by Specs and Mitre supplied the match ball.
Apparel and captain changes:
* ↑ Arema used Munich as their kit manufacturer before changed it from week 14.
* ↑ Wallace Costa replaced Hari Nur Yulianto as team captain starting from week 15.
* ↑ Dedi Gusmawan replaced Irsyad Maulana as team captain starting from week 18.

### Coaching changes

* Indicate the positions in the relegation zone.
| Team | Outgoing coach | Manner of departure | Date of vacancy | Week | Table | Incoming coach | Date of appointment |
| Arema | Milan Petrović | End of contract | 10 December 2018 | Pre-season | Pre-season | Milomir Šešlija | 9 January 2019 |
| Persib | Mario Gómez | Sacked | 12 December 2018 | Pre-season | Pre-season | Miljan Radović | 9 January 2019 |
| Madura United | Gomes de Olivera | Sacked | 17 December 2018 | Pre-season | Pre-season | Dejan Antonić | 13 January 2019 |
| Bhayangkara | Simon McMenemy | Signed by Indonesia | 20 December 2018 | Pre-season | Pre-season | Alfredo Vera | 5 February 2019 |
| Borneo | Dejan Antonić | End of contract | 31 December 2018 | Pre-season | Pre-season | Fabio Lopez | 5 January 2019 |
| Kalteng Putra | Kas Hartadi | End of contract | 31 December 2018 | Pre-season | Pre-season | Gomes de Olivera | 15 January 2019 |
| Badak Lampung | Wanderley da Silva | End of contract | 1 January 2019 | Pre-season | Pre-season | Jan Saragih | 11 March 2019 |
| TIRA-Persikabo | Nil Maizar | Mutual consent | 2 January 2019 | Pre-season | Pre-season | Rahmad Darmawan | 2 January 2019 |
| Persija | Stefano Cugurra | End of contract | 4 January 2019 | Pre-season | Pre-season | Ivan Kolev | 15 January 2019 |
| PSM | Robert Alberts | Resigned | 12 January 2019 | Pre-season | Pre-season | Darije Kalezić | 2 February 2019 |
| Persipura | Osvaldo Lessa | Mutual consent | 13 January 2019 | Pre-season | Pre-season | Luciano Leandro | 22 January 2019 |
| Bali United | Eko Purjianto | End of caretaker role | 14 January 2019 | Pre-season | Pre-season | Stefano Cugurra | 14 January 2019 |
| Borneo | Fabio Lopez | Sacked | 8 April 2019 | Pre-season | Pre-season | Mario Gómez | 15 April 2019 |
| Persib | Miljan Radović | Sacked | 3 May 2019 | Pre-season | Pre-season | Robert Alberts | 3 May 2019 |
| Persija | Ivan Kolev | Resigned | 3 June 2019 | 3 | 16 | Julio Bañuelos | 8 June 2019 |
| Barito Putera | Jacksen F. Tiago | Resigned | 23 June 2019 | 5 | 18 | Yunan Helmi | 25 June 2019 |
| Persela | Aji Santoso | Resigned | 30 June 2019 | 6 | 17 | Nil Maizar | 4 July 2019 |
| Persipura | Luciano Leandro | Sacked | 30 June 2019 | 6 | 15 | Jacksen F. Tiago | 11 July 2019 |
| Semen Padang | Syafrianto Rusli | Resigned | 8 July 2019 | 7 | 16 | Welliansyah | 8 July 2019 |
| Badak Lampung | Jan Saragih | Sacked | 28 July 2019 | 11 | 15 | Milan Petrović | 29 July 2019 |
| PSIS | Jafri Sastra | Sacked | 8 August 2019 | 13 | 10 | Widyantoro | 8 August 2019 |
| Persebaya | Djadjang Nurdjaman | Sacked | 10 August 2019 | 13 | 7 | Bejo Sugiantoro | 10 August 2019 |
| Bhayangkara | Alfredo Vera | Sacked | 14 August 2019 | 14 | 8 | Yeyen Tumena | 14 August 2019 |
| PSIS | Widyantoro | End of caretaker role | 19 August 2019 | 15 | 13 | Bambang Nurdiansyah | 19 August 2019 |
| Barito Putera | Yunan Helmi | End of caretaker role | 21 August 2019 | 15 | 15 | Djadjang Nurdjaman | 21 August 2019 |
| Bhayangkara | Yeyen Tumena | End of caretaker role | 22 August 2019 | 15 | 9 | Paul Munster | 22 August 2019 |
| Madura United | Dejan Antonić | Resigned | 24 August 2019 | 16 | 5 | Rasiman | 24 August 2019 |
| Semen Padang | Welliansyah | Demoted to assistant coach | 12 September 2019 | 17 | 18 | Eduardo Almeida | 12 September 2019 |
| Persija | Julio Bañuelos | Sacked | 19 September 2019 | 19 | 15 | Sudirman | 20 September 2019 |
| Persebaya | Bejo Sugiantoro | End of caretaker role | 25 September 2019 | 20 | 5 | Wolfgang Pikal | 25 September 2019 |
| Persija | Sudirman | End of caretaker role | 29 September 2019 | 21 | 14 | Edson Tavares | 29 September 2019 |
| Persebaya | Wolfgang Pikal | Resigned | 30 October 2019 | 25 | 9 | Aji Santoso | 31 October 2019 |
| TIRA-Persikabo | Rahmad Darmawan | Sacked | 29 November 2019 | 29 | 12 | Miftahudin Mukson | 29 November 2019 |
| TIRA-Persikabo | Miftahudin Mukson | End of caretaker role | 7 December 2019 | 31 | 12 | Igor Kriushenko | 7 December 2019 |
Notes:
* ↑ Welliansyah was initially appointed as caretaker manager, but the move was made permanent on 26 July 2019.
* ↑ Rasiman was initially appointed as caretaker manager, but the move was made permanent on 5 September 2019.

## Foreign players

Football Association of Indonesia restricted the number of foreign players to four per team, including one slot for a player from AFC countries. A team can use all four foreign players at once.
* Players name in bold indicates the player was registered during the mid-season transfer window.
* Former Player(s) were players that out of squad or left club within the season, after pre-season transfer window, or in the mid-season transfer window, and at least had one appearance.
| Team | Player 1 | Player 2 | Player 3 | Asian Player | Former Player(s) |
| Arema | Arthur Cunha | Makan Konaté | Sylvano Comvalius | Takafumi Akahoshi | Pavel Smolyachenko |
| Badak Lampung | Fernandinho | Marquinhos Carioca | Bojan Mališić | Antony Golec | Torres Kunihiro Yamashita |
| Bali United | Willian Pacheco | Melvin Platje | Paulo Sérgio | Brwa Nouri | |
| Barito Putera | Cássio | Rafael Silva | Torres | Kosuke Uchida | Artur Vieira Lucas Silva Yoo Jae-hoon |
| Bhayangkara | Anderson Salles | Bruno Matos | Hédipo | Lee Yoo-joon | Ramiro Fergonzi Flávio Beck |
| Borneo | Matías Conti | Renan Silva | Juan Alsina | Javlon Guseynov | Jan Lammers |
| Kalteng Putra | David Bala | Eydison | Rafael Bonfim | Takuya Matsunaga | Diogo Campos Hédipo Yoo Hyun-goo |
| Madura United | Diego Assis | Jaimerson | Aleksandar Rakić | Ante Bakmaz | Zah Rahan Krangar |
| Persebaya | David da Silva | Diogo Campos | Otávio Dutra | Aryn Williams | Damián Lizio Amido Baldé Manuchekhr Dzhalilov |
| Persela | Alex Gonçalves | Demerson | Rafinha | Kei Hirose | Mawouna Amevor |
| Persib | Ezechiel N'Douassel | Kevin van Kippersluis | Nick Kuipers | Omid Nazari | Bojan Mališić Rene Mihelič Artur Geworkýan |
| Persija | Xandão | Marko Šimić | Joan Tomàs | Rohit Chand | Bruno Matos Steven Paulle |
| Persipura | André Ribeiro | Mamadou Samassa | Ibrahim Conteh | Oh In-kyun | |
| PSIS | Bruno Silva | Claudir | Wallace Costa | Jonathan Cantillana | Patrick Mota Shohei Matsunaga Sílvio Escobar |
| PSM | Amido Baldé | Marc Klok | Wiljan Pluim | Aaron Evans | Eero Markkanen |
| PSS | Guilherme Batata | Alfonso de la Cruz | Yevhen Bokhashvili | Brian Ferreira | |
| Semen Padang | Flávio Beck | Vanderlei | Karl Max Barthélémy | Yoo Hyun-goo | Shukurali Pulatov José Sardón Mario Barcia |
| TIRA-Persikabo | Ciro Alves | Louise Parfait | Loris Arnaud | Khurshed Beknazarov | |
Source: First transfer window, Second transfer window Notes:
* ↑ Otávio Dutra gained Indonesian citizenship on 27 September 2019, but he was registered as a foreign player because his naturalization process was completed after second transfer window closed.

## League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Bali United (C) | 34 | 19 | 7 | 8 | 48 | 35 | +13 | 64 | Qualification for the AFC Champions League preliminary round 1 and ASEAN Club Championship group stage |
| 2 | Persebaya | 34 | 14 | 12 | 8 | 57 | 43 | +14 | 54 | Qualification for the ASEAN Club Championship group stage |
| 3 | Persipura | 34 | 14 | 11 | 9 | 47 | 38 | +9 | 53 | |
| 4 | Bhayangkara | 34 | 14 | 11 | 9 | 51 | 43 | +8 | 53 | |
| 5 | Madura United | 34 | 15 | 8 | 11 | 55 | 44 | +11 | 53 | |
| 6 | Persib | 34 | 13 | 12 | 9 | 49 | 39 | +10 | 51 | |
| 7 | Borneo | 34 | 12 | 15 | 7 | 55 | 42 | +13 | 51 | |
| 8 | PSS | 34 | 12 | 12 | 10 | 45 | 42 | +3 | 48 | |
| 9 | Arema | 34 | 13 | 7 | 14 | 59 | 62 | −3 | 46 | |
| 10 | Persija | 34 | 11 | 11 | 12 | 43 | 42 | +1 | 44 | |
| 11 | Persela | 34 | 11 | 11 | 12 | 47 | 45 | +2 | 44 | |
| 12 | PSM | 34 | 13 | 5 | 16 | 50 | 50 | 0 | 44 | Qualification for the AFC Cup play-off round |
| 13 | Barito Putera | 34 | 11 | 10 | 13 | 45 | 51 | −6 | 43 | |
| 14 | PSIS | 34 | 12 | 7 | 15 | 36 | 41 | −5 | 43 | |
| 15 | TIRA-Persikabo | 34 | 10 | 12 | 12 | 51 | 57 | −6 | 42 | |
| 16 | Badak Lampung (R) | 34 | 8 | 9 | 17 | 35 | 65 | −30 | 33 | Relegation to Liga 2 |
| 17 | Semen Padang (R) | 34 | 7 | 11 | 16 | 32 | 45 | −13 | 32 | Relegation to Liga 2 |
| 18 | Kalteng Putra (R) | 34 | 8 | 7 | 19 | 33 | 54 | −21 | 31 | Relegation to Liga 2 |
* ↑ Persebaya would have qualified for the AFC Cup group stage had Bali United qualified for the AFC Champions League group stage. As Bali United failed to qualify for the AFC Champions League group stage, Persebaya's qualification in the AFC Cup was annulled.
* 1 2 3 Head-to-head points: Persipura (+2) 9 pts; Bhayangkara (+2) 7 pts; Madura United (–4) 1 pts.
* 1 2 Head-to-head results: Persib 2–2 Borneo; Borneo 0–1 Persib.
* 1 2 3 Head-to-head points: Persija (+2) 8 pts; Persela (+0) 4 pts; PSM (–2) 4 pts.
* ↑ PSM qualified for the AFC Cup play-off round as the 2018–19 Piala Indonesia winners.
* 1 2 Head-to-head results: PSIS 0–0 Barito Putera; Barito Putera 2–0 PSIS.

## Results

| Home \ Away | ARE | BDL | BLU | BPT | BHA | BOR | KTP | MDU | PBY | PSL | PSB | PSJ | PPR | SMG | PSM | PSS | SPD | TIR |
| Arema | — | 4–1 | 3–2 | 2–1 | 3–2 | 2–2 | 1–1 | 2–0 | 4–0 | 3–2 | 5–1 | 1–1 | 3–1 | 1–1 | 2–0 | 4–0 | 1–0 | 1–2 |
| Badak Lampung | 4–3 | — | 0–3 | 3–3 | 2–3 | 1–1 | 2–1 | 3–0 | 1–3 | 1–1 | 1–1 | 2–0 | 0–1 | 0–1 | 1–1 | 0–2 | 0–1 | 2–2 |
| Bali United | 2–1 | 3–0 | — | 3–2 | 1–0 | 2–1 | 2–1 | 0–2 | 2–1 | 1–1 | 3–2 | 1–0 | 1–1 | 1–0 | 1–0 | 3–1 | 4–1 | 0–1 |
| Barito Putera | 3–0 | 4–1 | 1–0 | — | 1–4 | 1–0 | 1–2 | 0–1 | 1–0 | 0–0 | 1–0 | 1–1 | 0–4 | 2–0 | 3–2 | 1–0 | 0–3 | 2–4 |
| Bhayangkara | 1–0 | 0–1 | 0–0 | 4–2 | — | 1–1 | 1–0 | 1–1 | 0–2 | 3–1 | 0–0 | 3–0 | 0–1 | 0–0 | 3–2 | 0–2 | 2–2 | 1–1 |
| Borneo | 2–0 | 1–1 | 6–0 | 4–3 | 1–1 | — | 2–0 | 2–1 | 1–2 | 1–2 | 0–1 | 1–0 | 1–1 | 2–0 | 2–0 | 2–2 | 1–0 | 4–1 |
| Kalteng Putra | 4–2 | 0–1 | 2–2 | 1–1 | 3–2 | 0–1 | — | 1–4 | 1–1 | 2–0 | 0–2 | 1–3 | 0–0 | 0–0 | 3–1 | 0–2 | 2–0 | 1–0 |
| Madura United | 1–0 | 5–1 | 0–1 | 2–2 | 1–2 | 3–0 | 2–1 | — | 2–3 | 2–1 | 2–1 | 2–2 | 0–2 | 3–0 | 2–0 | 0–1 | 1–1 | 1–0 |
| Persebaya | 4–1 | 2–1 | 1–1 | 2–2 | 4–0 | 0–0 | 1–1 | 2–2 | — | 3–2 | 4–0 | 1–1 | 1–0 | 1–1 | 3–2 | 2–3 | 1–1 | 1–1 |
| Persela | 2–0 | 1–0 | 2–0 | 0–0 | 1–1 | 2–2 | 3–0 | 1–5 | 1–0 | — | 2–2 | 0–0 | 2–2 | 0–1 | 3–1 | 1–0 | 2–0 | 6–1 |
| Persib | 3–0 | 4–0 | 0–2 | 0–0 | 1–2 | 2–2 | 2–0 | 1–1 | 4–1 | 0–2 | — | 2–0 | 3–0 | 2–1 | 5–2 | 1–0 | 1–1 | 1–1 |
| Persija | 2–2 | 0–1 | 0–1 | 1–0 | 1–1 | 4–2 | 3–0 | 4–0 | 1–2 | 4–3 | 1–1 | — | 1–0 | 2–1 | 0–0 | 1–0 | 1–2 | 2–0 |
| Persipura | 2–2 | 1–1 | 2–2 | 1–0 | 1–3 | 2–2 | 2–0 | 1–0 | 0–1 | 2–0 | 1–3 | 2–0 | — | 2–0 | 3–1 | 1–1 | 1–1 | 3–0 |
| PSIS | 5–1 | 0–0 | 1–0 | 0–0 | 2–3 | 2–2 | 1–2 | 2–3 | 0–4 | 2–0 | 0–1 | 2–1 | 1–3 | — | 1–0 | 3–0 | 2–0 | 0–2 |
| PSM | 6–2 | 4–0 | 1–0 | 2–1 | 2–1 | 2–2 | 2–1 | 1–0 | 2–1 | 2–1 | 3–1 | 0–1 | 4–0 | 0–1 | — | 1–1 | 1–0 | 2–0 |
| PSS | 3–1 | 5–1 | 0–0 | 2–2 | 1–1 | 0–1 | 1–0 | 2–2 | 2–1 | 1–1 | 0–0 | 0–0 | 1–1 | 1–3 | 3–2 | — | 1–1 | 5–2 |
| Semen Padang | 0–1 | 1–2 | 0–2 | 2–3 | 2–3 | 1–1 | 1–0 | 1–2 | 0–0 | 2–0 | 0–0 | 2–2 | 1–2 | 1–0 | 2–1 | 0–1 | — | 1–3 |
| TIRA-Persikabo | 1–1 | 3–0 | 1–2 | 0–1 | 0–2 | 2–2 | 5–2 | 2–2 | 2–2 | 1–1 | 1–1 | 5–3 | 2–1 | 1–2 | 0–0 | 3–1 | 1–1 | — |
* ↑ Badak Lampung hosted Persela at Patriot Chandrabhaga because they didn't have police permit to hold this match at Sumpah Pemuda.
* ↑ Borneo hosted Bhayangkara at Aji Imbut because Segiri was still under renovation.
* ↑ Kalteng Putra hosted PSS at Maguwoharjo because they didn't have police permit to hold this match at Sultan Agung.
* ↑ Persebaya hosted PSM at Batakan because they didn't have police permit to hold this match at Gelora Bung Tomo.
* ↑ Persebaya hosted Semen Padang at Batakan because Gelora Bung Tomo still under renovation.
* ↑ Persib hosted Persebaya at Kapten I Wayan Dipta because they didn't have police permit to hold this match at Jalak Harupat.
* ↑ Persib hosted Persija at Kapten I Wayan Dipta because they didn't have police permit to hold this match at Jalak Harupat.
* ↑ Persija hosted Kalteng Putra at Madya Senayan because Patriot was used by Bhayangkara.
* ↑ PSIS hosted PSS at Maguwoharjo because they didn't have police permit to hold this match at Moch. Soebroto.
* ↑ TIRA-Persikabo hosted Bhayangkara at PTIK because they didn't have police permit to hold this match at Pakansari.

## Season statistics
### Top goalscorers

| Rank | Player | Team | Goals |
| 1 | Marko Šimić | Persija | 28 |
| 2 | Alberto Gonçalves | Madura United | 18 |
| 3 | Alex Gonçalves | Persela | 17 |
| 4 | Makan Konaté | Arema | 16 |
| 4 | Ilija Spasojević | Bali United | 16 |
| 4 | Yevhen Bokhashvili | PSS | 16 |
| 7 | Ezechiel N'Douassel | Persib | 15 |
| 8 | Rafael Silva | Barito Putera | 14 |
| 8 | David da Silva | Persebaya | 14 |
| 8 | Ciro Alves | TIRA-Persikabo | 14 |

### Hat-tricks

| Player | For | Against | Result | Date |
| Flávio Beck | Bhayangkara | Barito Putera | 4–2 (H) | 28 May 2019 |
| Amido Baldé | Persebaya | Persib | 4–0 (H) | 5 July 2019 |
| Alex Gonçalves | Persela | Kalteng Putra | 3–0 (H) | 11 July 2019 |
| Marko Šimić | Persija | TIRA-Persikabo | 3–5 (A) | 16 July 2019 |
| Makan Konaté | Arema | Badak Lampung | 4–1 (H) | 16 July 2019 |
| Hédipo | Kalteng Putra | Bhayangkara | 3–2 (H) | 25 August 2019 |
| Alex Gonçalves | Persela | TIRA-Persikabo | 6–1 (H) | 25 August 2019 |
| Torres | Barito Putera | Badak Lampung | 4–1 (H) | 18 October 2019 |
| Marquinhos Carioca | Badak Lampung | Arema | 4–3 (H) | 1 November 2019 |
| Marko Šimić$^4$ | Persija | Borneo | 4–2 (H) | 11 November 2019 |
| Matías Conti | Borneo | TIRA-Persikabo | 4–1 (H) | 6 December 2019 |
| Marko Šimić | Persija | Madura United | 4–0 (H) | 13 December 2019 |
| Ezechiel N'Douassel$^4$ | Persib | PSM | 5–2 (H) | 22 December 2019 |
Note: $^4$ Player scored 4 goals

### Discipline

* Most yellow card(s): 11
** Akbar Tanjung (Badak Lampung)
** Muhammad Tahir (Persipura)
* Most red card(s): 3
** Leonard Tupamahu (Bali United)

## Attendances

| Pos | Team | Total | High | Low | Average | Change |
| 1 | Persija | 413,152 | 70,136 | 4,124 | 24,303 | +10.3%$^†$ |
| 2 | PSS | 321,451 | 32,176 | 5,112 | 18,909 | +5.7%$^†$ |
| 3 | Bali United | 288,072 | 25,057 | 9,696 | 16,945 | +11.5%$^†$ |
| 4 | Persebaya | 280,017 | 50,000 | 0 | 16,472 | −42.3%$^†$ |
| 5 | Persib | 256,200 | 26,778 | 1,030 | 15,071 | −5.9%$^†$ |
| 6 | Arema | 241,088 | 40,412 | 4,318 | 14,182 | +26.4%$^†$ |
| 7 | PSIS | 153,202 | 17,245 | 0 | 9,012 | −26.5%$^†$ |
| 8 | Badak Lampung | 140,492 | 13,069 | 672 | 8,264 | +432.1%$^†$ |
| 9 | Persela | 134,296 | 17,000 | 3,707 | 7,900 | −22.8%$^†$ |
| 10 | PSM | 130,337 | 14,327 | 2,174 | 7,667 | −41.0%$^†$ |
| 11 | TIRA-Persikabo | 97,548 | 29,541 | 172 | 5,738 | +284.3%$^†$ |
| 12 | Semen Padang | 89,481 | 10,500 | 2,142 | 5,264 | −20.2%$^†$ |
| 13 | Barito Putera | 81,345 | 7,859 | 2,085 | 4,785 | −4.9%$^†$ |
| 14 | Persipura | 59,890 | 14,263 | 0 | 3,523 | −69.0%$^†$ |
| 15 | Madura United | 57,050 | 7,858 | 621 | 3,356 | −30.9%$^†$ |
| 16 | Borneo | 53,913 | 6,725 | 785 | 3,171 | −25.7%$^†$ |
| 17 | Kalteng Putra | 48,470 | 10,208 | 0 | 2,851 | −49.5%$^†$ |
| 18 | Bhayangkara | 17,872 | 2,389 | 449 | 1,051 | −72.2%$^†$ |
| | League total | 2,863,876 | 70,136 | 0 | 9,359 | −7.9%$^†$ |
Source: Shopee Liga 1 2019 Notes: $^†$ Teams played previous season in Liga 2

## Awards
### Annual

| Award | Winner |
| Best Player | Renan Silva (Borneo) |
| Best Coach | Stefano Cugurra (Bali United) |
| Best Young Player | Todd Ferre (Persipura) |
| Best Goal | David da Silva (Persebaya) |
| Fair Play Team | TIRA-Persikabo |
| Best Referee | Yudi Nurcahya |

### Team of the season

Team of the season :
| Goalkeeper | Wawan Hendrawan (Bali United) | Wawan Hendrawan (Bali United) | Wawan Hendrawan (Bali United) | Wawan Hendrawan (Bali United) |
| Defenders | Asnawi Bahar (PSM) | Ricardo Salampessy (Persipura) | Javlon Guseynov (Borneo) | Ruben Sanadi (Persebaya) |
| Midfielders | Makan Konaté (Arema) | Fadil Sausu (Bali United) | Renan Silva (Borneo) | Todd Ferre (Persipura) |
| Forwards | Marko Šimić (Persija) | Marko Šimić (Persija) | Ilija Spasojević (Bali United) | Ilija Spasojević (Bali United) |
| Substitutes | Dede Sulaiman (Persipura), Anderson Salles (Bhayangkara), Ricky Fajrin (Bali United), Marc Klok (PSM), Terens Puhiri (Borneo), Febri Hariyadi (Persib), Alberto Gonçalves (Madura United) | Dede Sulaiman (Persipura), Anderson Salles (Bhayangkara), Ricky Fajrin (Bali United), Marc Klok (PSM), Terens Puhiri (Borneo), Febri Hariyadi (Persib), Alberto Gonçalves (Madura United) | Dede Sulaiman (Persipura), Anderson Salles (Bhayangkara), Ricky Fajrin (Bali United), Marc Klok (PSM), Terens Puhiri (Borneo), Febri Hariyadi (Persib), Alberto Gonçalves (Madura United) | Dede Sulaiman (Persipura), Anderson Salles (Bhayangkara), Ricky Fajrin (Bali United), Marc Klok (PSM), Terens Puhiri (Borneo), Febri Hariyadi (Persib), Alberto Gonçalves (Madura United) |