# 2023–24 Bali United F.C. season

The 2023–24 season was the ninth season in the history of Bali United Football Club and the club's eighth consecutive season in the top flight of Indonesian football. In addition to the domestic league, Bali United also participate in this season's editions of the AFC Champions League but were knocked out by Lee Man, therefore being relegated to the AFC Cup group stage where they finishing in third place in their group with seven points. They finished in fourth place in the Liga 1. The season covers the period from 1 June 2023 to 31 May 2024.

## Pre-season and friendlies

Bali United received an invitation to a friendly match from Persebaya in the context of the Surabaya's 730th anniversary on 28 May 2023. Then organized a friendly against Arema and Dewa United behind closed doors in Kapten I Wayan Dipta Stadium.
During half season break, Bali United received an invitation to a tournament in Hanoi, Vietnam namely Hana Bank – BID V Cup. Their first match were against K League 1 side, Daejeon Hana Citizen on 23 January 2024. They lost 0–1 and went through the third place play-off against Vietnamese side, Hanoi. Both teams played a 1–1 draw after 90 minute and proceed to penalty shoot-out. Bali won 5–4 and claimed the third place.
| Date | Opponent | H / A | Result F–A | Scorers |
| 28 May 2023 – 16:30 | Persebaya | A | 1–3 | Rahmat |
| 18 June 2023 – 16:30 | Arema | H | 0–0 (4–5 p) | |
| 24 June 2023 – 16:30 | Dewa United | H | 2–2 | Mbarga, Mahessa |
| 23 January 2024 – 20:00 | Daejeon Hana Citizen | N | 0–1 | |
| 27 January 2024 – 14:30 | Hanoi | N | 1–1 (5–4 p) | Andhika |

## Match results
### Overall record

| Competition | First match | Last match | Starting round | Final position | Record | Record | Record | Record | Record | Record | Record | Record |
| Competition | First match | Last match | Starting round | Final position | Pld | W | D | L | GF | GA | GD | Win % |
| Liga 1 | 1 July 2023 | 30 May 2024 | Matchday 1 | 4th | 38 | 17 | 9 | 12 | 58 | 51 | +7 | 044.74 |
| AFC Club Competition play-off | 6 June 2023 | 10 June 2023 | First leg | Winners | 2 | 0 | 2 | 0 | 2 | 2 | +0 | 000.00 |
| AFC Champions League | 16 August 2023 | 16 August 2023 | Preliminary round | Preliminary round | 1 | 0 | 0 | 1 | 1 | 5 | −4 | 000.00 |
| AFC Cup | 20 September 2023 | 13 December 2023 | Group stage | Group stage | 6 | 2 | 1 | 3 | 15 | 15 | +0 | 033.33 |
| Total | Total | Total | Total | Total | 47 | 19 | 12 | 16 | 76 | 73 | +3 | 040.43 |
Source: Match results

### AFC Club Competition play-off

Due to the change of AFC competition dates to an autumn–spring format, the winners of the last two seasons of Liga 1 (Bali United as 2021–22 champions and PSM as 2022–23 champions) competed in an additional two-legged play-off to determine the allocation of AFC competition slots. Bali United won the play-off by defeating PSM 5–4 on penalties after 2–2 draw on aggregate. Therefore, Bali United would compete in the preliminary round of the 2023–24 AFC Champions League.
| Date | Round | Opponent | H / A | Result F–A | Scorers | Attendance | Referee |
| 6 June 2023 – 19:30 | First leg | PSM | H | 1–1 | Irfan | 14,087 | Thoriq Alkatiri |
| 10 June 2023 – 19:30 | Second leg | PSM | A | 1–1 (a.e.t.) (5–4 p) | Erwin (o.g.) | 8,317 | Yudi Nurcahya |

### Liga 1
#### Regular series

The league season began with a home loss against PSS on 1 July. Ricky Cawor scored in the early second half for PSS to give Bali their third consecutive defeat to PSS since last season. Bali then suffered another defeat to Borneo Samarinda, the first time they had started a league campaign with consecutive losses since the 2017 season. Privat Mbarga scored first before Terens Puhiri and a brace from Matheus Pato turn things around for Borneo. On 15 July, Bali achieved their first league victory of the season, a 2–1 home win against Madura United. Jefferson Assis scored a penalty and Jajang Mulyana with a header, after Jajá scored a penalty in the early first half. This match was marked by 3 red cards, 1 for Bali and 2 for Madura. On 21 July, Bali obtained their second consecutive league victory with a 3–1 away (played in Bali's home of Kapten I Wayan Dipta) win against Arema. Gustavo scored the opening goal in the 14th minute, before Elias Dolah equalised in the first half. Ricky Fajrin and Jefferson then scored two goals in order to secure victory against Arema. On 29 July, Bali obtained their third consecutive league victory with a 3–1 home win against Dewa United. Again, Bali was left behind first by a goal from Ricky Kambuaya, before Jefferson equalised just before half time with a penalty. Two substitutes, Ilija Spasojević and Kadek Agung then scored two goals in order to secure victory against Dewa United, who were on top of the league table, having started the season on a four-match unbeaten streak.
On the next match Bali faced Persib in their away league game. Both teams had plenty of chances but ultimately had to settle for a goalless draw as Bali extended their unbeaten league record against the West Java side to 11 matches, dating back to May 2017. They hosted Persik four days later. Éber Bessa shotted home in the 41st minute, but following a foul in the penalty area by Dolah, Yohanes Pahabol slotted home the penalty in the third minute of stoppage time. Bali played their second home encounter in August against last year champions PSM. Rizky Eka Pratama opened the scoring for PSM in the 5th minute with a left-footed kick from just outside the penalty area. Bali equalised seven minutes later when Mbarga scored after escape the offside trap. Yance Sayuri slotted home from a free-kick before the break to bring PSM into the lead, despite playing with 10-men because Safrudin Tahar got a red card. Substitute Spasojević drew Bali level again on 74th minute before sealed the victory 11 minutes later with his second goal. This is their first league win against PSM since 2019. Eight days later Bali travelled to Persis. Jefferson scored his fourth Liga 1 goal; however, it was not enough to earn a point due to the goals from Diego Bardanca, Fernando Rodríguez and their former player Arapenta Poerba. Bali lost two straight away matches in three days – after a devastating lost in Hong Kong. On 27 August, Bali faced Barito Putera. A back-pass error from Carli de Murga to the keeper made Spasojević scored smoothly to open an early lead. But Bali led only briefly before Gustavo Tocantins scored the equaliser from a penalty. Rahmat then made it 2–1 after a pass from Mbarga and sealed the win.
In the last match before international break, Bali were away to PSIS and left behind in the 25th minute when Carlos Fortes scored after a corner kick. In the 50th minute, Gali Freitas doubled the lead for PSIS. Jefferson scored his fifth goal of the season but it wasn't enough to prevent the loss from the home side. Bali then suffered another defeat to RANS Nusantara. Kenshiro Daniels and Evandro Brandão scored for RANS before they conceded a goal by Yabes Roni to give Bali their first ever home defeat to RANS. They visited Persija four days after their AFC Cup match in Biñan. Their two-game winless run was continued after Rahmat Arjuna' first half goal – his first Bali goal – was cancelled out by a second half goal from Ondřej Kúdela. Haudi received a second yellow card in the 63rd minute. Despite with 10-men, they almost scored a winning goal if Irfan Jaya didn't miss the one-on-one chance against Andritany Ardhiyasa. Five days later, they welcomed Persikabo 1973 at home. A goal each from Novri and Jefferson, both scoring after mistakes from opposing goalkeeper, secured the win.
Nine days later, they visited Bhayangkara Presisi Indonesia. Éber opened the scoring for Bali with a free kick in the 34th minute, and Dolah extended their lead just before half-time. Sani Rizki scored for Bhayangkara, but only narrowed the gap as Bali pick up the win. The win also extended Bali's unbeaten run to five in all competitions. On 20 October, Bali obtained their third consecutive league victory with a 3–1 home win against Persebaya. Mbarga scored in the first half, before Dušan Stevanović equalised on the 48th minute. Mbarga doubled their lead with a solo run before Jefferson scored the penalty in order to secure victory. In the next match, Bali faced Persita at Kapten I Wayan Dipta. Spasojević scored in the 49th minute and Irfan Jaya doubled the lead in the 77th minute. Yabes Roni then scored six minutes later to secure a 3–0 win.
On 3 November, Bali started the second half of the season with an away game against PSS. Mohammed Rashid scored his first goal for the club and the game's only goal to put Bali into the top three. The win also extended Bali's winning run to five in the league. Nine days later, Bali hosted Borneo. Their five-game winning run was brought to an end after Jefferson's equalizer was cancelled out by two-goals from Felipe Cadenazzi. After the international break, Bali travelled to Madura. Rahmat and Irfan Jaya scored for Bali to beat the host 2–1. Luthfi Kamal made his debut for Bali.
On 4 December, Bali faced Arema. Two goals from Jefferson and an own goal from Johan Alfarizi made Bali lead in the first half. Arema nearly making a comeback in the second half but managed to survive with a final score of 3–2. Four days later, Bali travelled to Dewa United. In a match which was temporarily postponed due to heavy rain pouring down on the field, Éber's goal was cancelled out by a goal from Ahmad Nufiandani. The following Monday saw Bali hosted Persib for the last Liga 1 game prior to a month break and the AFC Asian Cup. The match ended in a goalless draw after a second red card of the season for Jajang Mulyana for a challenge on David da Silva, upgraded from a yellow card after a hard tension interaction with Alberto Rodríguez in the first half. Bali extended their unbeaten league record against the West Java side to 12 matches, dating back to May 2017.
After the break for almost a month, Bali United's journey in the league continue as they visit Persik. The game was goalless heading into stoppage time, before Persik were awarded a penalty after Flávio Silva was brought down in the penalty area. The spot kick was converted by Renan Silva. After the international break, Bali travelled to PSM. The match ended in a goalless draw. The next match saw Bali United hosted Persis. A heavily dominant Bali display in the first half as Gede Sunu and Made Andhika put Bali in front. Moussa Sidibé put Persis only a goal behind before Rahmat scored and made it 3–1. Ramadhan Sananta scored a late consolation goal for the guest.
In the first week of March, they face Barito Putera away. Irfan Jaya brought Bali forward before an equaliser by Eksel Runtukahu two minutes before break. Tocantins put Barito in front in the added time of the first half. Bagas Kaffa put the lead further before Mbarga scored seven minutes later and made it 3–2 for the host. Spasojević scored from penalty to equalise matters. Eksel then scored the winner at the 70th minute. Four days later, they welcomed PSIS at home. A goal each from Spasojević and Rashid, secured the win. On 17 March, Bali travelled to RANS Nusantara. Jefferson's goal was cancelled out just four minutes later by Mitsuru Maruoka. After international break, Bali hosted Persija, with Spasojević scoring the only goal of the game before ends from a penalty.
The first match in April, Persikabo got their revenge by winning 3–2 with goals from Yandi Sofyan, Manahati Lestusen, and Myat Kaung Khant. Bali actually took the lead in the first half via I Made Tito Wiratama and Muhammad Kemaluddin's own goal. Bali returned to home game against Bhayangkara. Despite starting brightly, it was the visitors who took the lead through Anderson Salles in the 71st minute. Rahmat levelled the scores in the 87th minute, before Mbarga sealed the win in the added time. On 24 April, Bali visited Persebaya. Irfan Jaya scored in the 35th minute. Mbarga scored Bali's second goal in the 73rd minute as Bali secured a championship series semi-finals place. On the final match of the regular series, Bali travelled to Persita. Esal Sahrul opened the scoring after 15 minutes and lasted three minutes before Arjuna's equaliser. Esal, Mohcine Nader, and Rifky Dwi Septiawan scored to bring the host 4–1 up. Taufik Hidayat pulled one back but it's not enough to save Bali from defeat.
| Date | Week | Opponent | H / A | Result F–A | Scorers | Attendance | Referee | Position |
| 1 July 2023 – 16:00 | 1 | PSS | H | 0–1 | | 3,450 | Asep Yandis | 16 |
| 8 July 2023 – 20:00 | 2 | Borneo Samarinda | A | 1–3 | Mbarga | 8,787 | Abdul Aziz | 18 |
| 15 July 2023 – 20:00 | 3 | Madura United | H | 2–1 | Jefferson, Jajang | 3,800 | Ginanjar Rahman Latief | 15 |
| 21 July 2023 – 20:00 | 4 | Arema | A | 3–1 | Dolah, Fajrin, Jefferson | 288 | Heru Cahyono | 9 |
| 29 July 2023 – 16:00 | 5 | Dewa United | H | 3–1 | Jefferson, Spasojević, Widnyana | 5,489 | Nendi Rohaendi | 4 |
| 3 August 2023 – 20:00 | 6 | Persib | A | 0–0 | | 8,975 | Gedion Dapaerang | 5 |
| 7 August 2023 – 20:00 | 7 | Persik | H | 1–1 | Éber | 7,499 | Thoriq Alkatiri | 7 |
| 11 August 2023 – 16:00 | 8 | PSM | H | 3–2 | Mbarga, Spasojević (2) | 3,304 | Aidil Azmi | 5 |
| 19 August 2023 – 20:00 | 9 | Persis | A | 1–3 | Jefferson | 7,668 | Ginanjar Rahman Latief | 7 |
| 27 August 2023 – 20:00 | 10 | Barito Putera | H | 2–1 | Spasojević, Rahmat | 5,873 | Nendi Rohaendi | 3 |
| 2 September 2023 – 20:00 | 11 | PSIS | A | 1–2 | Jefferson | 6,649 | Thoriq Alkatiri | 8 |
| 15 September 2023 – 20:00 | 12 | RANS Nusantara | H | 1–2 | Yabes | 6,845 | Asep Yandis | 11 |
| 24 September 2023 – 20:00 | 13 | Persija | A | 1–1 | Arjuna | 11,923 | Aidil Azmi | 11 |
| 29 September 2023 – 20:00 | 14 | Persikabo 1973 | H | 2–0 | Novri, Jefferson | 2,690 | Rio Permana Putra | 7 |
| 8 October 2023 – 20:00 | 15 | Bhayangkara Presisi Indonesia | A | 2–1 | Éber, Dolah | 275 | Yudi Nurcahya | 6 |
| 20 October 2023 – 16:00 | 16 | Persebaya | H | 3–1 | Mbarga (2), Jefferson | 4,507 | Nendi Rohaendi | 6 |
| 30 October 2023 – 20:00 | 17 | Persita | H | 3–0 | Spasojević, Irfan, Yabes | 2,811 | Ryan Nanda Saputra | 6 |
| 3 November 2023 – 16:00 | 18 | PSS | A | 1–0 | Rashid | 8,574 | Asep Yandis | 3 |
| 12 November 2023 – 20:00 | 19 | Borneo Samarinda | H | 1–2 | Jefferson | 9,620 | Armyn Dwi Suryathin | 4 |
| 23 November 2023 – 16:00 | 20 | Madura United | A | 2–1 | Rahmat, Irfan | 643 | Heru Cahyono | 3 |
| 4 December 2023 – 16:00 | 21 | Arema | H | 3–2 | Jefferson (2), Alfarizi (o.g.) | 2,526 | Candra | 3 |
| 8 December 2023 – 16:00 | 22 | Dewa United | A | 1–1 | Éber | 353 | Naufal Adya Fairuski | 2 |
| 18 December 2023 – 20:00 | 23 | Persib | H | 0–0 | | 10,167 | Aidil Azmi | 2 |
| 5 February 2024 – 20:00 | 24 | Persik | A | 0–1 | | 3,902 | Gedion Dapaherang | 4 |
| 24 February 2024 – 20:00 | 25 | PSM | A | 0–0 | | 4,031 | Heru Cahyono | 4 |
| 29 February 2024 – 20:00 | 26 | Persis | H | 3–2 | Sunu, Andhika, Rahmat | 5,898 | Asep Yandis | 3 |
| 4 March 2024 – 16:00 | 27 | Barito Putera | A | 3–4 | Irfan, Mbarga, Spasojević | 0 | Ryan Nanda Saputra | 4 |
| 8 March 2024 – 20:00 | 28 | PSIS | H | 2–0 | Spasojević, Rashid | 3,525 | Naufal Adya Fairuski | 3 |
| 17 March 2024 – 21:30 | 29 | RANS Nusantara | A | 1–1 | Jefferson | 0 | Nendi Rohaendi | 3 |
| 30 March 2024 – 21:30 | 30 | Persija | H | 1–0 | Spasojević | 9,499 | Armyn Dwi Suryathin | 3 |
| 15 April 2024 – 20:00 | 31 | Persikabo 1973 | A | 2–3 | Tito, Kemaluddin (o.g.) | 150 | M. Erfan Efendi | 3 |
| 20 April 2024 – 20:00 | 32 | Bhayangkara Presisi Indonesia | H | 2–1 | Rahmat, Mbarga | 7,288 | Tommi Manggopa | 3 |
| 24 April 2024 – 16:00 | 33 | Persebaya | A | 2–0 | Irfan, Mbarga | 2,124 | Asep Yandis | 3 |
| 30 April 2024 – 16:45 | 34 | Persita | A | 2–4 | Arjuna, Taufik | 2,674 | Thoriq Alkatiri | 3 |

#### League table

{{#invoke:Transcludable section|main|section=map|text=
| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Borneo Samarinda | 34 | 21 | 7 | 6 | 52 | 31 | +21 | 70 | Qualification to the Championship Series and 2024–25 ASEAN Club Championship group stage |
| 2 | Persib (C) | 34 | 16 | 14 | 4 | 65 | 38 | +27 | 62 | Qualification to the Championship Series and 2024–25 AFC Champions League 2 group stage |
| 3 | Bali United | 34 | 17 | 7 | 10 | 55 | 43 | +12 | 58 | Qualification to the Championship Series |
| 4 | Madura United | 34 | 15 | 10 | 9 | 58 | 45 | +13 | 55 | Qualification to the Championship Series and 2024–25 AFC Challenge League group stage |
| 5 | Dewa United | 34 | 14 | 12 | 8 | 59 | 48 | +11 | 54 | |
* ↑ Persija, the previous season's runners-up, qualified but declined to participate. Thus, their spot was given to Borneo, this season's regular series premiers.
* ↑ Persib, qualified as the Championship Series winner.
* ↑ Madura United, qualified as the Championship Series runner-up.

#### Championship series

Having finished in third place in the regular series, Bali United qualified for the semi-finals of the championship series and were drawn against the second-placed team, Persib. On 14 May, Bali hosted Persib in the Bali United Training Center because Kapten I Wayan Dipta Stadium were hosting 2024 AFC U-17 Women's Asian Cup. Jefferson Assis opened the scoring for Bali in the 82nd minute, before David da Silva scored the equaliser in the added time. This match also marked the first time video assistant referee (VAR) were used in Indonesian professional football league. In the second leg, a goal each from Ciro Alves, Febri Hariyadi, and Edo Febriansah was enough to eliminate Bali with a 4–1 win on aggregate, and sent Bali to third place play-offs. This result also ended Bali's unbeaten streak against Persib since 2017.
In the third place play-offs, Bali United were paired with regular series premiers, Borneo Samarinda. The first leg was held at home on 25 May, with the match ended goalless. In the return leg, five goals were scored by both teams in the first half, three goals for Borneo via two goals from Wiljan Pluim and Felipe Cadenazzi, two goals for Bali from Elias Dolah and Irfan Jaya. Cadenazzi scored his second goal in this match, sealed the victory and the third place for Borneo. Bali United ended this season in the fourth place.
| Date | Round | Opponent | H / A | Result F–A | Scorers | Attendance | Referee |
| 14 May 2024 – 20:00 | Semi-finals First leg | Persib | H | 1–1 | Jefferson | 500 | Heru Cahyono |
| 18 May 2024 – 20:00 | Semi-finals Second leg | Persib | A | 0–3 | | 21,593 | Rio Permana Putra |
| 25 May 2024 – 20:00 | Third place First leg | Borneo Samarinda | H | 0–0 | | 7,577 | Yudi Nurcahya |
| 30 May 2024 – 20:00 | Third place Second leg | Borneo Samarinda | A | 2–4 | Dolah, Irfan | 2,448 | Sance Lawita |

### AFC Champions League
#### Qualifying play-offs

As the winner of the AFC Club Competition play-off, Bali United faced 2022–23 Hong Kong Premier League runners-up Lee Man in the preliminary round of the qualifying play-off east region. Bali were defeated 5–1 by Lee Man, with a brace from Mitchel Paulissen and a goal each from Gil, Everton Camargo and José Ángel cancelled Tsui Wang Kit's own goal.
| Date | Round | Opponent | H / A | Result F–A | Scorers | Attendance | Referee |
| 16 August 2023 – 20:00 | Preliminary round | Lee Man | A | 1–5 | Tsui Wang Kit (o.g.) | 4,238 | Abdullah Jamali |

### AFC Cup
#### Group stage

As one of the losers in the Champions League preliminary round, Bali entered the AFC Cup group stage. This was their fifth AFC Cup campaign. They entered the competition in the group stage, which was drawn on 24 August 2023, with Bali in Pot 2 ASEAN Zone along with Macarthur and Hougang United. They are drawn into Group G with Malaysian club Terengganu, Philippines representative Stallion Laguna and Australian champions Central Coast Mariners. The meetings with all of clubs in this group are Bali's first against teams. The group stage began on 20 September and will be concluded on 13 December 2023.
In the first match, Bali were away to Stallion Laguna. After a slow start, Bali took the lead when Ilija Spasojević was put through by Éber Bessa and curled his shot past the goalkeeper. Laguna's response was swift and clinical as a quick interchange of passes allowed Junior Ngong Sam squeezing his shot past Adilson Maringá in the 30th minute. They retook the lead just three minutes later, Bessa's corner kick found Haudi Abdillah unmarked to head in Bali's second. The two teams got penalty each and missed it before the first half ends. Bali got their third goal in the 54th minute when Mohammed Rashid latched onto Privat Mbarga's perfectly lofted pass to fire in, giving them a valuable gap in the match. The Tridatu Warriors kept up the intensity and increased their lead further with two goals in quick succession through Rahmat (69th) and Spasojević (72nd). Laguna pulled a goal back through Abraham Placito in the 88th minute but it was nothing more than scant consolation for the Filipino side. Bali hosted Terengganu on 4 October. After a goalless draw in the first half, Bali finally broke the deadlock through Mbarga, who finished off Jajang Mulyana's corner from close range. But Terengganu struck back with an 84th minute equalizer courtesy of a Syahmi Zamri's tap-in following Hakim Hassan's headed pass. The next match, they faced Central Coast Mariners in Australia. Warshawsky gave Bali a 17th minute lead when he fumbled Mbarga's cross through his own legs and over the goal line but with Marco Túlio and Jacob Farrell both scoring braces, also a goal from Christian Theoharous and an own goal from Kadek Arel Priyatna only could be replied by Mbarga and Jefferson Assis.
The return fixture was played two weeks later, Alou Kuol scored a goal to give the visitors an early lead which only lasted five minutes as Jefferson hit back for Bali. However, Marco Túlio converted from the penalty spot in the 64th minute to help Mariners got their back-to-back win against Bali. Bali hosted Stallion Laguna on 29 November. Goals from Made Andhika, Mohammed Rashid, Elias Dolah and Éber Bessa earned Teco’s side a four-goal lead before Jayvee Kallukaran and Griffin McDaniel gave the visitors hope of a revival until Jefferson snuffed out that possibility four minutes from time. Bali completed their AFC Cup campaign with a 0-2 lost over Terengganu.
| Date | Opponent | H / A | Result F–A | Scorers | Attendance | Referee | Group position |
| 20 September 2023 – 16:00 | Stallion Laguna | A | 5–2 | Spasojević (2), Haudi, Rashid, Rahmat | 350 | Zaid Thamer Mohammed | 1 |
| 4 October 2023 – 20:00 | Terengganu | H | 1–1 | Mbarga | 2,180 | Bijan Heydari | 1 |
| 26 October 2023 – 16:00 | Central Coast Mariners | A | 3–6 | Warshawsky (o.g.), Mbarga, Jefferson | 1,820 | Kim Woo-sung | 3 |
| 8 November 2023 – 20:00 | Central Coast Mariners | H | 1–2 | Jefferson | 2,585 | Nasrullo Kabirov | 3 |
| 29 November 2023 – 20:00 | Stallion Laguna | H | 5–2 | Andhika, Rashid, Dolah, Éber, Jefferson | 1,023 | Pranjal Banerjee | 3 |
| 13 December 2023 – 20:00 | Terengganu | A | 0–2 | | 1,450 | Qasim Matar Ali Al Hatmi | 3 |
| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Central Coast Mariners | 6 | 4 | 1 | 1 | 21 | 7 | +14 | 13 | Zonal semi-finals |
| 2 | Terengganu | 6 | 3 | 3 | 0 | 10 | 6 | +4 | 12 | |
| 3 | Bali United | 6 | 2 | 1 | 3 | 15 | 15 | 0 | 7 | |
| 4 | Stallion Laguna | 6 | 0 | 1 | 5 | 9 | 27 | −18 | 1 | |

## Club officials

Brazilian coach, Stefano Cugurra resumed his duties as head coach in his fifth season with the club. On 16 May 2023, Stefan Keeltjes was appointed as the new assistant coach. Followed by Stefano Implagliazzo, who became the new physical coach of Bali United.
| Position | Staff |
| Head coach | Stefano Cugurra |
| Assistant coach | Stefan Keeltjes |
| Goalkeeping coach | Marcelo Pires |
| Physical coach | Stefano Implagliazzo Muhammad Rasyid |
| Manager | Michael Gerald |
| Assistant manager | Richi Kurniawan |
| Video technical analysis | Fery Muchlas |
| Team doctor | Ganda Putra |
| Physiotheraphy | A. A. Gede Ari Febriana Putra |
| Masseur | Ferdian Hernanto Kasmadi |
| Media officer | Alexander Oemanas |
| Kitman | I Wayan Suarjana Luqman Hakim |
Source: LIB Official Website

## Player details
### Appearances and goals

| No. | Pos | Nat | Player | Total | Total | Liga 1 | Liga 1 | Play-off | Play-off | AFC CL | AFC CL | AFC Cup | AFC Cup |
| No. | Pos | Nat | Player | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals |
| 1 | GK | BRA | Adilson Maringá | 45 | 0 | 37 | 0 | 2 | 0 | 1 | 0 | 5 | 0 |
| 2 | DF | IDN | Ardi Idrus | 38 | 0 | 19+10 | 0 | 1+1 | 0 | 0+1 | 0 | 6 | 0 |
| 4 | DF | THA | Elias Dolah | 41 | 4 | 29+5 | 3 | 1 | 0 | 1 | 0 | 5 | 1 |
| 5 | DF | IDN | Haudi Abdillah | 21 | 1 | 12+3 | 0 | 1+1 | 0 | 1 | 0 | 2+1 | 1 |
| 7 | MF | IDN | Sidik Saimima | 16 | 0 | 8+5 | 0 | 2 | 0 | 1 | 0 | 0 | 0 |
| 9 | FW | IDN | Ilija Spasojević | 43 | 10 | 17+18 | 8 | 1+1 | 0 | 1 | 0 | 4+1 | 2 |
| 10 | MF | BRA | Éber Bessa | 41 | 4 | 32+1 | 3 | 2 | 0 | 1 | 0 | 5 | 1 |
| 11 | MF | IDN | Yabes Roni | 22 | 2 | 5+12 | 2 | 0 | 0 | 0 | 0 | 3+2 | 0 |
| 13 | GK | IDN | Rakasurya Handika | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 14 | MF | IDN | Fadil Sausu | 6 | 0 | 1+5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 17 | FW | IDN | Taufik Hidayat | 4 | 1 | 0+1 | 1 | 0+1 | 0 | 0 | 0 | 0+2 | 0 |
| 18 | MF | IDN | I Kadek Agung Widnyana | 33 | 1 | 15+13 | 1 | 0 | 0 | 0 | 0 | 3+2 | 0 |
| 22 | MF | IDN | Novri Setiawan | 30 | 1 | 19+5 | 1 | 2 | 0 | 1 | 0 | 3 | 0 |
| 23 | DF | IDN | Ryuji Utomo | 8 | 0 | 2+3 | 0 | 0+2 | 0 | 0 | 0 | 1 | 0 |
| 24 | DF | IDN | Ricky Fajrin | 39 | 1 | 31+1 | 1 | 2 | 0 | 1 | 0 | 3+1 | 0 |
| 28 | MF | IDN | Gede Sunu | 5 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 1+2 | 0 |
| 33 | DF | IDN | I Made Andhika Wijaya | 25 | 2 | 16+5 | 1 | 0 | 0 | 0 | 0 | 1+3 | 1 |
| 37 | MF | CMR | Privat Mbarga | 42 | 9 | 29+5 | 7 | 2 | 0 | 1 | 0 | 5 | 2 |
| 41 | MF | IDN | Irfan Jaya | 33 | 6 | 19+8 | 5 | 1 | 1 | 0 | 0 | 3+2 | 0 |
| 42 | MF | IDN | Maouri Simon$^{YOUTH}$ | 1 | 0 | 0+1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 44 | DF | IDN | Kadek Arel Priyatna | 20 | 0 | 15+1 | 0 | 2 | 0 | 0 | 0 | 2 | 0 |
| 47 | MF | IDN | Rahmat Arjuna | 27 | 2 | 16+8 | 2 | 0+1 | 0 | 0+1 | 0 | 1 | 0 |
| 55 | MF | IDN | I Made Tito Wiratama | 11 | 1 | 4+4 | 1 | 0+2 | 0 | 0 | 0 | 1 | 0 |
| 66 | DF | IDN | I Gede Agus Mahendra | 2 | 0 | 0+2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 71 | MF | IDN | Luthfi Kamal | 12 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 72 | MF | IDN | I Nyoman Adi Wirya Tama | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 73 | DF | IDN | Jajang Mulyana | 26 | 1 | 15+7 | 1 | 0 | 0 | 0+1 | 0 | 3 | 0 |
| 74 | MF | PLE | Mohammed Rashid | 39 | 4 | 25+7 | 2 | 0 | 0 | 1 | 0 | 5+1 | 2 |
| 77 | MF | IDN | Ramdani Lestaluhu | 22 | 0 | 6+10 | 0 | 1 | 0 | 0+1 | 0 | 0+4 | 0 |
| 86 | MF | IDN | Tegar Infantrie | 6 | 0 | 0+4 | 0 | 0 | 0 | 0 | 0 | 1+1 | 0 |
| 88 | GK | IDN | Muhammad Ridho | 5 | 0 | 1+1 | 0 | 0+1 | 0 | 0 | 0 | 1+1 | 0 |
| 91 | MF | IDN | Rahmat | 44 | 5 | 10+27 | 4 | 0+1 | 0 | 0+1 | 0 | 0+5 | 1 |
| 94 | FW | BRA | Jefferson Assis | 35 | 15 | 20+10 | 12 | 0 | 0 | 1 | 0 | 2+2 | 3 |
| Players transferred out during the season ||||||||||||||
| 6 | MF | IRQ | Brwa Nouri | 4 | 0 | 1+1 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
* Source: Match results
* Ordered by player's number.

### Disciplinary record

| No. | Pos | Nat | Player | Total | Total | Total | Liga 1 | Liga 1 | Liga 1 | Play-off | Play-off | Play-off | AFC CL | AFC CL | AFC CL | AFC Cup | AFC Cup | AFC Cup |
| 1 | GK | BRA | Adilson Maringá | 3 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 2 | DF | IDN | Ardi Idrus | 10 | 0 | 0 | 8 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 4 | DF | THA | Elias Dolah | 8 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 5 | DF | IDN | Haudi Abdillah | 6 | 1 | 0 | 5 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | MF | IDN | Sidik Saimima | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 9 | FW | IDN | Ilija Spasojević | 4 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 10 | MF | BRA | Éber Bessa | 10 | 1 | 0 | 9 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 11 | MF | IDN | Yabes Roni | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 18 | MF | IDN | I Kadek Agung Widnyana | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 22 | MF | IDN | Novri Setiawan | 6 | 1 | 0 | 5 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 23 | DF | IDN | Ryuji Utomo | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 24 | DF | IDN | Ricky Fajrin | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 33 | DF | IDN | I Made Andhika Wijaya | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 37 | MF | CMR | Privat Mbarga | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 41 | MF | IDN | Irfan Jaya | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 44 | DF | IDN | Kadek Arel Priyatna | 3 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 47 | MF | IDN | Rahmat Arjuna | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 55 | MF | IDN | I Made Tito Wiratama | 4 | 0 | 0 | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 71 | MF | IDN | Luthfi Kamal | 5 | 1 | 0 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 73 | DF | IDN | Jajang Mulyana | 3 | 3 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 74 | MF | PLE | Mohammed Rashid | 11 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| 77 | MF | IDN | Ramdani Lestaluhu | 2 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 86 | MF | IDN | Tegar Infantrie | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 88 | GK | IDN | Muhammad Ridho | 2 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 91 | MF | IDN | Rahmat | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 94 | FW | BRA | Jefferson Assis | 4 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| Players transferred out during the season |||||||||||||||||||
| 6 | MF | IRQ | Brwa Nouri | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 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. | Player | From | Fee |
| 15 May 2023 | MF | Tegar Infantrie | Persikabo 1973 | Free transfer |
| 15 May 2023 | FW | Taufik Hidayat | Madura United | Free transfer |
| 18 May 2023 | GK | Adilson Maringá | Arema | Free transfer |
| 30 May 2023 | MF | Rahmat Arjuna | Youth sector | Promoted |
| 6 June 2023 | DF | Elias Dolah | Port | Free transfer |
| 5 July 2023 | FW | Jefferson Assis | Gżira United | Undisclosed |
| 13 July 2023 | MF | Mohammed Rashid | Jabal Al-Mukaber | Free transfer |
| 24 July 2023 | MF | I Nyoman Adi Wirya Tama | Youth sector | Promoted |
| 24 July 2023 | MF | I Komang Dedi Nova | Youth sector | Promoted |
| 1 November 2023 | MF | Gede Sunu | Youth sector | Promoted |
| 7 November 2023 | MF | Luthfi Kamal | PSIS | Free transfer |

### Transfers out

| Date | Pos. | Player | To | Fee |
| 17 April 2023 | GK | Gerri Mandagi | PSBS | Free transfer |
| 17 April 2023 | MF | Ahmad Agung | Persik | Free transfer |
| 17 April 2023 | MF | Sandi Sute | Kalteng Putra | Free transfer |
| 18 April 2023 | DF | Gunawan Dwi Cahyo | Persik | Free transfer |
| 18 April 2023 | MF | Rizky Pellu | PSM | Free transfer |
| 19 April 2023 | FW | Lerby Eliandry | Released | Released |
| 19 April 2023 | DF | Leonard Tupamahu | PSS | Free transfer |
| 20 April 2023 | GK | Nadeo Argawinata | Borneo Samarinda | Free transfer |
| 27 April 2023 | DF | Wellington Carvalho | Paysandu | Free transfer |
| 2 May 2023 | MF | Hariono | PSIM | Free transfer |
| 30 May 2023 | MF | Hendra Bayauw | Malut United | Free transfer |
| 13 July 2023 | MF | Brwa Nouri | Dalkurd | Free transfer |

### Loans out

| Start date | Pos. | Player | To | End date | Ref. |
| 12 August 2023 | DF | Komang Tri | Nusantara United | End of Liga 2 season | |
* ↑ Joined: 10 August 2023.
* ↑ Joined: 21 May 2023.
* ↑ Joined: 10 July 2023.
* ↑ Joined: 20 June 2023.
* ↑ Joined: 24 May 2023.
* ↑ Joined: 11 June 2023.
* ↑ Joined: 3 May 2023.
* ↑ Joined: 4 July 2023.
* ↑ Joined: 30 June 2023.
* ↑ Joined: 7 July 2023.
* ↑ Joined: 28 July 2023.

## Awards

* Liga 1 Coach of the Month (November): Stefano Cugurra
* Liga 1 Team of the Season: Adilson Maringá and Ricky Fajrin