# 2019 Bali United F.C. season

The 2019 season was the fifth season of competitive association football and fourth season in the Liga 1 played by Bali United Football Club, a professional football club based in Gianyar, Bali, Indonesia. Their 11th-place finish in 2018 meant it was their fourth successive season in Liga 1.
This season would be Bali United's first with head coach Stefano Cugurra, who stepped in for Widodo Cahyono Putro. Coming into the season, Bali United were in the round of 32 of the Piala Indonesia for the first time in their history.
The season would see the departures of original players such as I Made Wardana, I Gede Sukadana, Yandi Munawar, Novan Sasongko, Taufik Hidayat, Syaiful Cahya, Junius R. Bate, and Feby Eka Putra, as well as foreign recruits Nick van der Velden, Mahamadou N'Diaye, and Demerson. Players such as Haudi Abdillah, Samuel Reimas, Michael Orah, Willian Pacheco, Leonard Tupamahu, Fahmi Al-Ayyubi, Anan Lestaluhu, and Paulo Sérgio were brought in as replacements.
On 2 December 2019, the club won their first official title since the club formed, after second place Borneo draw to PSM and followed by a 2–0 win at Semen Padang to give Bali United mathematical certainty of the title with four games to spare.

## Background

The 2018 season was Widodo Cahyono Putro's second start to a season as head coach of Bali United, having taken charge in May 2017. The club had their first ever Asian competitions appearances as they competed in AFC Champions League, where they knocked out in the preliminary round 2 by Thailand's side Chiangrai United. That result made them got a consolation place in the AFC Cup, where they had poor results, finishing last in their group. Bali United reached the round of 32 in the Piala Indonesia, which would be held in 2019 season. Widodo resigned as head coach in November 2018 with Bali United was in 7th place of the table. He was replaced by Eko Purdjianto who acted as caretaker and finished the season in 11th place.

## Pre-season and friendlies
### Friendlies

Friendlies match details :
| Date | Opponent | Venue | Result | Scorers |
| 9 February – 16:40 | Undiksha | Home | 5–2 | Spasojević (2), Platje, Undiksha's player (o.g.), Sérgio |
| 17 March – 18:05 | Indonesia U22s | Home | 0–3 | |
| 20 March – 16:30 | Indonesia | Home | 1–1 | Gunawan |
| 30 March – 16:15 | Putra Tresna | Home | 8–0 | Sulendra (o.g.), Platje (3), Sérgio, Hamdi, Martinus, Nouri |
| 6 April – 16:00 | Putra Tresna | Home | 5–0 | Bachdim, Sérgio, Hamdi, Saghara, Yabes |
| 13 April – 16:00 | Boavista | Home | 4–1 | Bachdim, Lilipaly, Fadil, Yabes |
| 24 May – 21:00 | Persiba | Home | 1–0 | Fahmi |
| 14 June – 19:30 | Indonesia U23s | Home | 0–0 | |

### Indonesia President's Cup

Indonesia President's Cup match details :
| Date | Round | Opponent | Venue | Result | Scorers | Attendance | Referee |
| 3 March – 19:30 | Group stage | Mitra Kukar | Neutral | 3–0 | Platje (2), Spasojević | 735 | Hadiyana |
| 11 March – 19:30 | Group stage | Semen Padang | Neutral | 2–1 | Platje, Fadil | 932 | Tabrani |
| 14 March – 19:30 | Group stage | Bhayangkara | Neutral | 1–4 | Platje | 738 | Hadiyana |

### Trofeo Hamengkubuwono X

Trofeo Hamengkubuwono X match details :
| Date | Round | Opponent | Venue | Result | Scorers | Referee |
| 8 September – 14:30 | Trofeo match 1 | PSIM | Neutral | 0–0 (3–4 p) | | Ikhsan Prasetya Jati |
| 8 September – 16:00 | Trofeo match 2 | Indonesia U23s | Neutral | 0–1 | | Fariq Hitaba |

## Review and events
### January–April

Bali United started the season by playing away to Liga 2 team Blitar United in the round of 32 of the Piala Indonesia. Ilija Spasojević gave Bali United the lead with a header from Fadil Sausu's free kick in the 9th minute. Bali United doubled the lead when Melvin Platje taped Spasojević's pass into the net. They sealed the game in the 63rd minute when Platje scored with a penalty and secured a 3–0 win in the first leg.
On the first day of the new month, a brace from Spasojević and goals from Irfan Bachdim and Platje secured Bali United's place in round of 16 of Piala Indonesia in a 4–0 win over Blitar United and 7–0 win on aggregate. The winning streak continues when Bali United won away against Persela. Jairo Rodrigues scored an own goal and failed to convert the penalty that was given after being saved by Wawan Hendrawan sealed 1–0 victory in the first leg. Four days later, Fadil scored a brace in the second leg at home secured a 3–0 win on aggregate against Persela and Bali United through to the quarter-finals.
After almost two-month break because of pre-season tournament Piala Presiden, Piala Indonesia continues with the first leg of quarter-finals when they faced Persija. Shahar Ginanjar saved a penalty from Stefano Lilipaly in the 12th minute, made the score goalless in the first half. Eight minutes into the second half, Lilipaly paid for his failure with a goal after receiving a pass from Bachdim. He scored his second goal in this match in the 80th minute, before Bambang Pamungkas narrow the margin and made the score 2–1 for Bali United.

### May–August

Bali United were beaten 1–0 away by Persija in the second leg of Piala Indonesia quarter-finals, with Ismed Sofyan scored from a penalty and ended their journey in Piala Indonesia as they lose on away goals. Bali United then kicked off their league season with a home game against Persebaya on 16 May 2019. Bali United took a lead when Ilija Spasojević successfully scored after receiving a pass from Stefano Lilipaly. However, 15 minutes before the half time, Mokhamad Syaifuddin unleashed a right-foot shot and equalized for Persebaya. In the second half, Paulo Sérgio secured their first win of the season with a kick that hit one of the Persebaya defender and scored his first goal in his official debut. Bali United played the next game against 2017 Liga 1 champions, Bhayangkara. Yabes Roni's kick in 70th minute was enough for Bali United to got their first ever win over Bhayangkara since 2016. In their third consecutive home games after Persija requested an exchange of home status due to security reasons after the 2019 Indonesian general election in Jakarta, they got their third consecutive win after Paulo Sérgio scored a chip shot over Andritany Ardhiyasa in the 82nd minute making the score 1–0.
Bali United flagged June off with their fourth consecutive home game against PSIS on 22 June 2019 after the week 4 match against Kalteng Putra was postponed to 26 June 2019. They also secure their fourth consecutive win after Spasojević scored with a header in the 70th minute. In the first away game of the season, Bali United played Kalteng Putra. The match was postponed from its original date of 15 June due to the FIFA international friendly match agenda for Indonesia national football team and Lebaran. Ricky Fajrin scored an early lead with a header from the corner kick of Paulo Sérgio. However, Kalteng Putra scored a quick goal, three minutes in the second half when Yohanes Pahabol put a pass from free-kick situation in the net and equalized. Both teams played with 10 men after Leonard Tupamahu and Diogo Campos was sent off in the 60th minute. Bali United took advantage when Willian Pacheco scored. But Antoni Nugroho equalized once again and the match ended in 2–2 draw, ended their consecutive win. Bali United got their first win in away games after won 3–0 against 10-men Liga 1 debutant Badak Lampung. Spasojević scored in the 33rd minute after receiving a long pass from Fadil Sausu. Fadil again made a beautiful pass for Pacheco's goal in 66th minute. Two minutes after that, Melvin Platje scored his first goal since came back from injury with a drive shot and finished the month at the top of the table.
With the match against Borneo on 4 July was postponed, Bali United started July on the road against Barito Putera on 14 July with a 0–1 lost after Rafael Silva scored the goals 10 minutes before the game ended, while two of Bali United's goal were disallowed. This lost ended Bali United's five unbeaten run. Bali United again lost 2–0 at away to Persela, who took the lead in the first half through Alex Gonçalves in 15th and 45th minute. On 22 July, they finally played at home after four consecutive away games when they faced Liga 1 debutant and 2018 Liga 2 champions, PSS. Bali United took the early lead when Spasojević scored from a penalty. Asyraq Gufron scored to his own goal made the home team lead 2–0 in the first half. Yevhen Bokhashvili narrow the score after converted a penalty in 65th minute. The third penalty was awarded to this match in the 82nd minute and Platje successfully sealed the game 3–1, ended the two losing streak. Bali United's last match of the month was played at away on the 26th against Persib. A late goal from Spasojević secured Bali United a 2–0 away victory after Lilipaly scored the other goal.
On the first day of August, they beat the newly crowned Piala Indonesia winner, PSM 1–0 at home, in which Platje scored in the 60th minute with a header. In the next home game, Bali United faced Semen Padang. Semen Padang were leading 1–0 with an own goal from Pacheco, before Bali United pulled a comeback within 2 minutes with a goal each from Fajrin and Platje just before the half-time. Bali United finished the game 4–1 with two more goals in the second half from Platje and substitutes Irfan Bachdim. On 15 August, Bali United beat league leaders TIRA-Persikabo 2–1 at Pakansari as Lilipaly scored a brace. This result made Bali United became the first team to beat TIRA-Persikabo this season and seized the top spot of the table once again. They went on to win their sixth match in a row on 20 August in a 1–0 away match against Madura United. Spasojević scored the only goal in the second half, while the home team finished the match with 10-men after Jaimerson Xavier was sent off. Four days later, Bali United resumed their winning streak after beating Arema 2–1 at home. Pacheco scored the opening goal in the 27th minute with a header. Makan Konaté scored an equalizer for Arema on 44th minute, before Spasojević scored the winning goal in the 57th minute, with a header. Bali United closed the last match at home for the first half of the season after beating Borneo in the delayed week 7 match. Spasojević opened the scoring with a shot from Platje's pass on 6th minute, and he doubled the lead in the 55th minute with a rebound shot from Fadil's free kick, before Renan Silva scored a consolation goal for Borneo in the 79th minute.

### September–December

As the match against Persipura on 1 September was postponed due to riot in Jayapura, Bali United started their September with the first match in the second half of the season as they away to Bhayangkara. Goalless draw became the outcome of this match when one shots each from Ilija Spasojević and Stefano Lilipaly hit the crossbar. It also ended their eight winning streak. A goal from Melvin Platje earned Bali United a 1–0 win six days later, at away to the defending champions Persija. TIRA-Persikabo's defeat a day after meant the win for Bali United was enough to bring them a 10-point lead at the top of the table. Bali United's unbeaten streak nearly ended when Persebaya led 1–0 until in the 88 minute, before a free-kick from captain Fadil Sausu leveled and maintained their lead at the top of the table. They finished September with a narrow 2–1 win over 10-man Kalteng Putra after former Bali United's player I Gede Sukadana receive a second yellow card at the end of the first half. A header from Platje and Spasojević scored from penalty spot, extend their lead at the top of the table with 12 points and their unbeaten streak to 12 match.
After nearly three weeks off due to match postponement and international breaks, Bali United started their October horribly as their 12 unbeaten streak came to an end when they were destroyed by Borneo six goals without reply at Segiri where Lerby Eliandry, Renan Silva (2), Terens Puhiri (2), and Rifal Lastori scored the goals for the home team. This big lost also set their worst record defeat in their history so far. Bali United managed to rise from a painful defeat with a landslide 3–0 victory against Badak Lampung four days later. A free-kick goal from captain Fadil and brace from Spasojević gave them an 11th win at home this season. The five-goals drama came in the 3–2 victory over Barito Putera. Penalty from Spasojević leveled the score after Barito's goal inside the 10th minute. Willian Pacheco's header from Paulo Sérgio's corner kick made the score 2–1 before the half time whistle. Sérgio again made the assist from corner kick as Platje scored the third goal of Serdadu Tridatu. Rizky Pora managed to narrowed the score to 3–2 via counterattack. This result maintained their 100% win at home and their lead at the top of the table. Their perfect record at home this season came to an end as Persela equalized after Platje scored in the first half and Pacheco was red carded.
Bali United got their first point in November when they draw in away game against PSS. It was their first match of the four away matches in a row. They were again dropped two points against Persipura. Yohanis Tjoe scored to put Persipura in front in the 33rd minute. Bali United replied with two goals from Platje and Lilipaly, but todd Ferre in stoppage time equalized for the home team. Bali United dropped point even more where they lost 0–1 to PSIS and PSM. With Borneo, Persipura, and Madura United unable to won their respective matches in week 29, Bali United knew before their game against Persib that they need only four points to guarantee their status as champions. Kim Kurniawan opened the scoring for the visitors just before half-time, and in spite of Supardi Nasir's own goal equalized after Spasojević failed to converted a penalty, Persib led again with a quick counter. Bali United responded by scoring twice in six minute; Spasojević place the ball past I Made Wirawan with a back heel and Lilipaly shot after receiving long pass from Wawan Hendrawan. They closed November with only one points to clinch their first ever Liga 1 title.
Bali United recorded a 2–0 win against Semen Padang on 2 December 2019 to secure their first league title, even though before the game ended they were confirmed to be champions because Borneo failed to win at away to PSM in a match that was completed 30 minutes earlier. Spasojević, who was re-appointed captain in this match scored a brace ensuring a 17-point advantage in the standings. After clinched the title last week, Bali United went against Persipura at home without all of their foreign players and most were not regular players. Mamadou Samassa scored the goal for the visitors with a free-kick, but Irfan Bachdim keep their unbeaten streak at home alive with his free-kick. TIRA-Persikabo really ended Bali United's unbeaten streak at home with a narrow 1–0 win over the home team. At Kanjuruhan Stadium, Bali United second-tier squad lost 3–2 to Arema. Aldino Herdianto scored his first ever goal for Bali United in this match. Bali United's final game of the league season was against Madura United. They conceded goal from Aleksandar Rakić and Beto Gonçalves that tarnishes the trophy presentation at home.

## Match results
### Liga 1

| Pos | Teamvte | 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 | |
* ↑ 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.
Liga 1 match details :
| Date | Week | Opponent | Venue | Result | Scorers | Attendance | Referee | Position |
| 16 May – 21:30 | 1 | Persebaya | Home | 2–1 | Spasojević, Sérgio | 15,323 | Dodi Setia Purnama | 5 |
| 21 May – 21:30 | 2 | Bhayangkara | Home | 1–0 | Yabes | 15,215 | Agus Fauzan | 3 |
| 31 May – 21:30 | 3 | Persija | Home | 1–0 | Sérgio | 16,419 | Dwi Purba | 2 |
| 22 June – 16:30 | 5 | PSIS | Home | 1–0 | Spasojević | 15,283 | Iwan Sukoco | 1 |
| 26 June – 16:30 | 4 | Kalteng Putra | Away | 2–2 | Fajrin, Pacheco | 535 | Wawan Rapiko | 1 |
| 30 June – 19:30 | 6 | Badak Lampung | Away | 3–0 | Spasojević, Pacheco, Platje | 13,028 | Hamim Tohari | 1 |
| 14 July – 19:30 | 8 | Barito Putera | Away | 0–1 | | 7,578 | Iwan Sukoco | 2 |
| 18 July – 16:30 | 9 | Persela | Away | 0–2 | | 5,164 | Oki Dwi Putra | 2 |
| 22 July – 19:30 | 10 | PSS | Home | 3–1 | Spasojević, Gufron (o.g.), Platje | 17,477 | Faulur Rosy | 2 |
| 26 July – 19:30 | 11 | Persib | Away | 2–0 | Lilipaly, Spasojević | 23,642 | Dwi Purba | 2 |
| 1 August – 19:30 | 12 | PSM | Home | 1–0 | Platje | 17,906 | Musthofa Umarella | 2 |
| 9 August – 19:30 | 13 | Semen Padang | Home | 4–1 | Fajrin, Platje (2), Bachdim | 14,020 | Tabrani | 2 |
| 15 August – 19:30 | 14 | TIRA-Persikabo | Away | 2–1 | Lilipaly (2) | 10,840 | Hamim Tohari | 1 |
| 20 August – 19:30 | 15 | Madura United | Away | 1–0 | Spasojević | 3,250 | Dwi Purba | 1 |
| 24 August – 21:30 | 16 | Arema | Home | 2–1 | Pacheco, Spasojević | 21,597 | Thoriq Alkatiri | 1 |
| 28 August – 21:30 | 7 | Borneo | Home | 2–1 | Spasojević (2) | 13,411 | Dodi Setia Purnama | 1 |
| 13 September – 16:30 | 18 | Bhayangkara | Away | 0–0 | | 848 | Yudi Nurcahya | 1 |
| 19 September – 16:30 | 19 | Persija | Away | 1–0 | Platje | 13,227 | Dwi Purba | 1 |
| 24 September – 19:30 | 20 | Persebaya | Away | 1–1 | Fadil | 32,450 | Oki Dwi Putra | 1 |
| 29 September – 19:30 | 21 | Kalteng Putra | Home | 2–1 | Platje, Spasojević | 20,939 | Yudi Nurcahya | 1 |
| 18 October – 19:30 | 23 | Borneo | Away | 0–6 | | 5,732 | Adi Riyanto | 1 |
| 22 October – 19:30 | 24 | Badak Lampung | Home | 3–0 | Fadil, Spasojević (2) | 9,696 | Ikhsan Prasetya Jati | 1 |
| 27 October – 19:30 | 25 | Barito Putera | Home | 3–2 | Spasojević, Pacheco, Platje | 14,647 | Yudi Nurcahya | 1 |
| 31 October – 19:30 | 26 | Persela | Home | 1–1 | Platje | 16,846 | Agus Fauzan | 1 |
| 6 November – 16:30 | 27 | PSS | Away | 0–0 | | 18,862 | Hamim Tohari | 1 |
| 11 November – 16:30 | 17 | Persipura | Away | 2–2 | Platje, Lilipaly | 250 | Yeni Krisdianto | 1 |
| 15 November – 19:30 | 22 | PSIS | Away | 0–1 | | 10,339 | Tabrani | 1 |
| 23 November – 16:30 | 28 | PSM | Away | 0–1 | | 7,327 | Yudi Nurcahya | 1 |
| 28 November – 21:45 | 29 | Persib | Home | 3–2 | Supardi (o.g.), Spasojević, Lilipaly | 22,000 | Aprisman Aranda | 1 |
| 2 December – 17:00 | 30 | Semen Padang | Away | 0–2 | Spasojević (2) | 4,118 | Thoriq Alkatiri | 1 |
| 8 December – 21:30 | 31 | Persipura | Home | 1–1 | Bachdim | 21,800 | Oki Dwi Putra | 1 |
| 12 December – 18:45 | 32 | TIRA-Persikabo | Home | 0–1 | | 10,436 | Musthofa Umarella | 1 |
| 16 December – 16:30 | 33 | Arema | Away | 2–3 | Aldino, Bachdim | 4,318 | Yudi Nurcahya | 1 |
| 22 December – 20:00 | 34 | Madura United | Home | 0–2 | | 25,057 | Dwi Purba | 1 |

### Piala Indonesia

Piala Indonesia match details :
| Date | Round | Opponent | Venue | Result | Scorers | Referee |
| 24 January – 20:00 | Round of 32 First leg | Blitar United | Away | 3–0 | Spasojević, Platje (2) | Maulana Nugraha |
| 1 February – 19:00 | Round of 32 Second leg | Blitar United | Home | 4–0 | Platje, Bachdim, Spasojević (2) | Abdul Rahman Salasa |
| 18 February – 20:00 | Round of 16 First leg | Persela | Away | 1–0 | Jairo (o.g.) | Nusur Fadilah |
| 22 February – 21:00 | Round of 16 Second leg | Persela | Home | 2–0 | Fadil (2) | Handri Kristanto |
| 26 April – 16:30 | Quarter-finals First leg | Persija | Home | 2–1 | Lilipaly (2) | Oki Dwi Putra |
| 5 May – 16:30 | Quarter-finals Second leg | Persija | Away | 0–1 | | Handri Kristanto |

## Player details
### Appearances and goals

| No. | Pos | Nat | Player | Total | Total | Liga 1 | Liga 1 | Piala Indonesia | Piala Indonesia |
| No. | Pos | Nat | Player | Apps | Goals | Apps | Goals | Apps | Goals |
| 4 | MF | IDN | Ahmad Agung | 13 | 0 | 1+12 | 0 | 0 | 0 |
| 5 | DF | IDN | Dallen Doke | 1 | 0 | 1 | 0 | 0 | 0 |
| 6 | MF | IRQ | Brwa Nouri | 32 | 0 | 27 | 0 | 5 | 0 |
| 7 | FW | NED | Melvin Platje | 26 | 13 | 19+3 | 10 | 4 | 3 |
| 8 | MF | IDN | Muhammad Taufiq | 20 | 0 | 8+9 | 0 | 1+2 | 0 |
| 9 | FW | IDN | Ilija Spasojević | 36 | 19 | 30+1 | 16 | 4+1 | 3 |
| 10 | FW | IDN | Irfan Bachdim | 23 | 4 | 6+12 | 3 | 4+1 | 1 |
| 11 | MF | IDN | Yabes Roni | 26 | 1 | 14+7 | 1 | 3+2 | 0 |
| 13 | DF | IDN | Gunawan Dwi Cahyo | 18 | 0 | 12+3 | 0 | 3 | 0 |
| 14 | MF | IDN | Fadil Sausu (captain) | 37 | 4 | 29+2 | 2 | 6 | 2 |
| 18 | MF | IDN | I Kadek Agung Widnyana | 9 | 0 | 4+5 | 0 | 0 | 0 |
| 21 | GK | IDN | Rakasurya Handika | 0 | 0 | 0 | 0 | 0 | 0 |
| 22 | DF | IDN | Dias Angga Putra | 19 | 0 | 18+1 | 0 | 0 | 0 |
| 23 | MF | IDN | Fahmi Al-Ayyubi | 23 | 0 | 8+15 | 0 | 0 | 0 |
| 24 | DF | IDN | Ricky Fajrin | 26 | 2 | 20+1 | 2 | 5 | 0 |
| 26 | FW | IDN | Aldino Herdianto | 4 | 1 | 2+2 | 1 | 0 | 0 |
| 28 | MF | IDN | Rian Firmansyah | 1 | 0 | 0+1 | 0 | 0 | 0 |
| 32 | DF | IDN | Leonard Tupamahu | 25 | 0 | 19+3 | 0 | 3 | 0 |
| 33 | DF | IDN | I Made Andhika Wijaya | 22 | 0 | 15+1 | 0 | 6 | 0 |
| 35 | DF | IDN | Haudi Abdillah | 15 | 0 | 12+3 | 0 | 0 | 0 |
| 43 | DF | BRA | Willian Pacheco | 30 | 4 | 24 | 4 | 6 | 0 |
| 59 | GK | IDN | Wawan Hendrawan | 37 | 0 | 31 | 0 | 6 | 0 |
| 65 | MF | IDN | Kadek Haarlem Anggariva | 0 | 0 | 0 | 0 | 0 | 0 |
| 77 | MF | IDN | Miftahul Hamdi | 13 | 0 | 2+6 | 0 | 1+4 | 0 |
| 80 | MF | POR | Paulo Sérgio | 30 | 2 | 26 | 2 | 4 | 0 |
| 83 | MF | IDN | Reza Irfana | 0 | 0 | 0 | 0 | 0 | 0 |
| 85 | DF | IDN | Michael Orah | 19 | 0 | 14+3 | 0 | 1+1 | 0 |
| 87 | MF | IDN | Stefano Lilipaly | 34 | 7 | 26+4 | 5 | 4 | 2 |
| 93 | GK | IDN | Samuel Reimas | 3 | 0 | 3 | 0 | 0 | 0 |
| 97 | GK | IDN | Diky Indrayana | 0 | 0 | 0 | 0 | 0 | 0 |
| 98 | MF | IDN | Arapenta Poerba | 7 | 0 | 2+3 | 0 | 0+2 | 0 |
| 99 | DF | IDN | Anan Lestaluhu | 2 | 0 | 1+1 | 0 | 0 | 0 |
| Players transferred out during the season ||||||||||
| 2 | DF | IDN | Gusti Sandria | 1 | 0 | 0 | 0 | 0+1 | 0 |
| 20 | MF | IDN | Sutanto Tan | 2 | 0 | 0 | 0 | 0+2 | 0 |
| 29 | MF | IDN | Feby Eka Putra | 1 | 0 | 0 | 0 | 0+1 | 0 |
| 30 | MF | IDN | Ahmad Maulana Putra | 1 | 0 | 0 | 0 | 0+1 | 0 |
* Source: Match results
* Ordered by player's number.

### Disciplinary record

| No. | Pos | Nat | Player | Total | Total | Total | Liga 1 | Liga 1 | Liga 1 | Piala Indonesia | Piala Indonesia | Piala Indonesia |
| 4 | MF | IDN | Ahmad Agung | 3 | 0 | 1 | 3 | 0 | 1 | 0 | 0 | 0 |
| 6 | MF | IRQ | Brwa Nouri | 11 | 0 | 0 | 9 | 0 | 0 | 2 | 0 | 0 |
| 7 | FW | NED | Melvin Platje | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 |
| 8 | MF | IDN | Muhammad Taufiq | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 9 | FW | IDN | Ilija Spasojević | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 |
| 10 | FW | IDN | Irfan Bachdim | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
| 11 | MF | IDN | Yabes Roni | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 |
| 13 | DF | IDN | Gunawan Dwi Cahyo | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 |
| 14 | MF | IDN | Fadil Sausu | 2 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 22 | DF | IDN | Dias Angga Putra | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 |
| 23 | MF | IDN | Fahmi Al-Ayyubi | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 |
| 24 | DF | IDN | Ricky Fajrin | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 |
| 26 | FW | IDN | Aldino Herdianto | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 32 | DF | IDN | Leonard Tupamahu | 8 | 2 | 1 | 6 | 2 | 1 | 2 | 0 | 0 |
| 33 | DF | IDN | I Made Andhika Wijaya | 7 | 1 | 0 | 4 | 0 | 0 | 3 | 1 | 0 |
| 35 | DF | IDN | Haudi Abdillah | 5 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 |
| 43 | DF | BRA | Willian Pacheco | 7 | 0 | 2 | 6 | 0 | 2 | 1 | 0 | 0 |
| 59 | GK | IDN | Wawan Hendrawan | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
| 80 | MF | POR | Paulo Sérgio | 12 | 0 | 0 | 10 | 0 | 0 | 2 | 0 | 0 |
| 85 | DF | IDN | Michael Orah | 7 | 0 | 0 | 6 | 0 | 0 | 1 | 0 | 0 |
| 87 | MF | IDN | Stefano Lilipaly | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
| Players transferred out during the season |||||||||||||
| 20 | MF | IDN | Sutanto Tan | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
* Source: Match results
* Ordered by player's number.
* = Number of bookings; = Number of sending offs after a second yellow card; = Number of sending offs by a direct red card.

## Transfers
### Transfers in

| Date | Pos. | Name | From | Fee |
| 11 January 2019 | MF | Ahmad Maulana Putra | Borneo | Free transfer |
| 12 January 2019 | DF | Haudi Abdillah | PSIS | Free transfer |
| 13 January 2019 | GK | Samuel Reimas | Perseru | Free transfer |
| 13 January 2019 | DF | Michael Orah | Kalteng Putra | Free transfer |
| 14 January 2019 | DF | Willian Pacheco | Selangor | Free transfer |
| 14 January 2019 | DF | Gunawan Dwi Cahyo | Persija | Free transfer |
| 14 January 2019 | DF | Gusti Sandria | PSMS | Free transfer |
| 14 January 2019 | DF | Leonard Tupamahu | Borneo | Free transfer |
| 2 February 2019 | MF | Paulo Sérgio | Bhayangkara | Free transfer |
| 5 April 2019 | MF | Fahmi Al-Ayyubi | Persela | Free transfer |
| 21 May 2019 | DF | Anan Lestaluhu | Persija | Free transfer |
| 19 August 2019 | FW | Aldino Herdianto | PSMS | Free transfer |
| 15 September 2019 | MF | Rian Firmansyah | Sarawak | Free transfer |

### Transfers out

| Date | Pos. | Name | To | Fee |
| 1 January 2019 | GK | I Made Wardana | Retired | Retired |
| 1 January 2019 | MF | I Gede Sukadana | Kalteng Putra | Free transfer |
| 1 January 2019 | FW | Yandi Munawar | PSM | Free transfer |
| 1 January 2019 | MF | Nick van der Velden | Amsterdamsche | Free transfer |
| 1 January 2019 | DF | Novan Sasongko | Persebaya | Free transfer |
| 1 January 2019 | DF | Mahamadou N'Diaye | FUS Rabat | Free transfer |
| 12 January 2019 | DF | Taufik Hidayat | PSM | Free transfer |
| 12 January 2019 | DF | Syaiful Cahya | Semen Padang | Free transfer |
| 12 January 2019 | DF | Demerson | Persela | Free transfer |
| 24 April 2019 | DF | Junius R. Bate | PSS | Free transfer |
| 21 May 2019 | MF | Feby Eka Putra | Persija | Free transfer |
| 18 August 2019 | MF | Sutanto Tan | PSIM | Free transfer |
* ↑ Joined on 9 January 2019.
* 1 2 Joined on 13 January 2019.
* ↑ Joined as player-coach on 12 June 2019 after announced his retirement on 9 December 2018.
* ↑ Joined on 27 January 2019.
* ↑ Joined on 1 July 2019.
* ↑ Joined on 10 September 2019.

### Loans out

| Start date | Pos. | Name | To | End date |
| 1 March 2019 | MF | Feby Eka Putra | TIRA-Persikabo | April 2019 |
| 9 March 2019 | GK | I Putu Pager Wirajaya | Bogor | End of season |
| 28 April 2019 | GK | I Putu Pager Wirajaya | PSIM | End of season |
| 27 May 2019 | DF | Gusti Sandria | Sulut United | End of season |
| 27 May 2019 | DF | Adi Parwa | Sulut United | End of season |
| 27 May 2019 | MF | Ahmad Maulana Putra | Sulut United | End of season |
| 27 May 2019 | FW | Martinus Novianto | Sulut United | End of season |
* ↑ Until the end of TIRA-Persikabo's progress in 2019 Indonesia President's Cup.
* ↑ Back early due to the dissolved of Bogor.
* ↑ Until the end of PSIM's progress in 2019 Liga 2.
* ↑ Until the end of Sulut United's progress in 2019 Liga 2.

## Awards

* Liga 1
** Best Coach: Stefano Cugurra
** Team of the Season: Wawan Hendrawan, Fadil Sausu, Ilija Spasojević, Ricky Fajrin
* Asosiasi Pesepakbola Profesional Indonesia (APPI) Indonesian Soccer Awards 2019
** Best Goalkeeper: Wawan Hendrawan
** Best Footballer: Fadil Sausu
** Favorite Footballer: Ilija Spasojević
** Best Coach: Stefano Cugurra
** Best XI: Wawan Hendrawan, Willian Pacheco, Paulo Sérgio, Fadil Sausu