Indonesia sớm có bàn mở tỷ số ở phút 11 do công của tiền đạo Ezra Walian. Cuối hiệp một, đội bóng xứ vạn đảo thêm lợi thế khi hậu vệ Safuwan Baharudin của Singapore bị truất quyền thi đấu vì nhận thẻ vàng thứ hai. Tuy nhiên, ngay sau đó, Ui-Young Song gỡ hòa 1-1 Singapore từ một tình huống lộn xộn trong vòng cấm.
Sang hiệp hai, Singapore tiếp tục gặp khó khi Irfan Fandi nhận thẻ đỏ ở phút 67. Dù vậy, đội chủ nhà một lần nữa gây bất ngờ khi vượt lên dẫn 2-1 ở phút 74 sau cú đá phạt hiểm hóc của tiền vệ Shahdan Sulaiman. Mãi tới phút 87, Pratama Arhan mới ghi bàn gỡ hòa 2-2 cho Indonesia.
Kịch tính của trận đấu được đẩy lên cao trào khi Singapore được hưởng phạt đền ở phút 90 sau tình huống Pratama Arhan phạm lỗi với Anuar trong vòng cấm. Tuy nhiên, trên chấm 11 m, Faris Ramli không thể đánh bại thủ môn Nadeo khiến hai đội phải đá thêm hiệp phụ để phân định thắng thua.
Với lợi thế hơn hai người người, Indonesia ghi hai bàn ở hiệp phụ đầu tiên để dẫn 4-2, một từ pha phản lưới nhà của Shawal Anuar (phút 91), một do công của Egi Vikri (phút 105+2). Cuối hiệp phụ thứ hai, Singapore phải nhận thêm thẻ đỏ khi thủ môn Hassan truy cản trái phép với Irfan Raya trong pha đối mặt. Dù vậy, trong thời gian ít ỏi còn lại, không có bàn thắng nào được ghi thêm.
Kết quả này giúp Indonesia giành quyền vào chung kết AFF Cup 2020 với tổng tỷ số 5-3 sau hai lượt trận bán kết. Đối thủ của thầy trò ông Shin Tae-yong sẽ là Thái Lan hoặc Việt Nam (Thái Lan thắng 2-0 ở bán kết lượt đi).