Final Table:
1.Albirex Niigata (S) 24 20 2 2 86-20 62 [C] Champions
2.Lion City Sailors 24 17 3 4 79-39 54
3.Tampines Rovers 24 14 6 4 47-32 48
4.Balestier Khalsa 24 12 0 12 60-71 36
5.Geylang International 24 10 3 11 41-52 33
6.Hougang United 24 9 2 13 37-57 29
7.Brunei DPMM 24 6 5 13 39-43 23 [N]
8.Tanjong Pagar United 24 6 3 15 39-62 21
9.Young Lions 24 1 2 21 24-76 5
NB: Brunei DPMM, who had withdrawn from the league in 2020 due to the
Covid-19 pandemic, were readmitted;
Young Lions are the Singapore youth side
Round 1
[Feb 24]
Lion City Sailors 3-1 Tanjong Pagar United
[Feb 25]
Albirex Niigata (S) 3-0 Young Lions
Tampines Rovers 1-1 Geylang International
[Feb 26]
Balestier Khalsa 2-3 Hougang United
Brunei DPMM bye
Round 2
[Mar 3]
Lion City Sailors 3-1 Brunei DPMM
Tanjong Pagar United 0-2 Tampines Rovers
[Mar 4]
Balestier Khalsa 3-1 Young Lions
[Mar 5]
Geylang International 2-1 Hougang United
Albirex Niigata (S) bye
Round 3
[Mar 9]
Albirex Niigata (S) 4-0 Lion City Sailors
Young Lions 0-3 Tampines Rovers
[Mar 10]
Brunei DPMM 3-4 Balestier Khalsa
Tanjong Pagar United 2-0 Geylang International
Hougang United bye
Round 4
[Mar 14]
Balestier Khalsa 1-3 Tampines Rovers
Brunei DPMM 2-1 Tanjong Pagar United
[Mar 15]
Albirex Niigata (S) 2-0 Hougang United
Lion City Sailors 3-0 Geylang International
Young Lions bye
Round 5
[Mar 18]
Lion City Sailors 3-0 Balestier Khalsa
Young Lions 2-1 Hougang United
[Mar 19]
Albirex Niigata (S) 0-1 Tampines Rovers
Brunei DPMM 1-3 Geylang International
Tanjong Pagar United bye
Round 6
[Mar 31]
Hougang United 0-3 Brunei DPMM
Tampines Rovers 4-3 Lion City Sailors
[Apr 1]
Geylang International 1-6 Albirex Niigata (S)
Tanjong Pagar United 2-1 Young Lions
Balestier Khalsa bye
Round 7
[Feb 28]
Geylang International 4-2 Young Lions
[Apr 5]
Balestier Khalsa 1-6 Albirex Niigata (S)
[Apr 6]
Hougang United 1-2 Tanjong Pagar United
[Apr 20]
Tampines Rovers 2-0 Brunei DPMM
Lion City Sailors bye
Round 8
[Apr 10]
Hougang United 0-5 Lion City Sailors
Tanjong Pagar United 0-2 Albirex Niigata (S)
[Apr 11]
Young Lions 2-2 Brunei DPMM
[Apr 12]
Geylang International 3-0 Balestier Khalsa
Tampines Rovers bye
Round 9
[Apr 15]
Albirex Niigata (S) 2-0 Brunei DPMM
Young Lions 1-1 Lion City Sailors
[Apr 16]
Hougang United 1-1 Tampines Rovers
Tanjong Pagar United 2-4 Balestier Khalsa
Geylang International bye
Round 10
[May 5]
Tampines Rovers 2-3 Balestier Khalsa
[May 6]
Hougang United 0-5 Albirex Niigata (S)
[May 7]
Brunei DPMM 2-1 Tanjong Pagar United
Geylang International 1-2 Lion City Sailors
Young Lions bye
Round 11
[Apr 8]
Young Lions 1-3 Balestier Khalsa
[May 12]
Hougang United 3-2 Geylang International
[May 13]
Brunei DPMM 3-3 Lion City Sailors
[May 14]
Tampines Rovers 3-0 Tanjong Pagar United
Albirex Niigata (S) bye
Round 12
[May 20]
Balestier Khalsa 3-2 Brunei DPMM
Tampines Rovers 1-0 Young Lions
[May 21]
Geylang International 2-3 Tanjong Pagar United
Lion City Sailors 3-2 Albirex Niigata (S)
Hougang United bye
Round 13
[May 26]
Albirex Niigata (S) 6-2 Balestier Khalsa
[May 27]
Young Lions 0-2 Geylang International
[May 28]
Brunei DPMM 0-1 Tampines Rovers
Tanjong Pagar United 1-3 Hougang United
Lion City Sailors bye
Round 14
[Jun 1]
Balestier Khalsa 4-5 Lion City Sailors
[Jun 3]
Hougang United 3-0 Young Lions
[Jun 27]
Tampines Rovers 1-1 Albirex Niigata (S)
[Jun 28]
Geylang International 2-0 Brunei DPMM
Tanjong Pagar United bye
Round 15
[Jun 6]
Albirex Niigata (S) 3-0 Geylang International
Young Lions 3-4 Tanjong Pagar United
[Jun 7]
Lion City Sailors 1-1 Tampines Rovers
Brunei DPMM 2-3 Hougang United
Balestier Khalsa bye
Round 16
[Jun 10]
Lion City Sailors 4-1 Young Lions
Tampines Rovers 2-0 Hougang United
[Jun 11]
Balestier Khalsa 4-3 Tanjong Pagar United
Brunei DPMM 0-2 Albirex Niigata (S)
Geylang International bye
Round 17
[Jun 23]
Balestier Khalsa 2-3 Geylang International
[Jun 24]
Albirex Niigata (S) 4-0 Tanjong Pagar United
Brunei DPMM 6-0 Young Lions
[Jun 25]
Lion City Sailors 3-0 Hougang United
Tampines Rovers bye
Round 18
[Jul 1]
Tanjong Pagar United 1-7 Lion City Sailors
Young Lions 2-4 Albirex Niigata (S)
[Jul 2]
Geylang International 1-1 Tampines Rovers
Hougang United 1-3 Balestier Khalsa
Brunei DPMM bye
Round 19
[Jul 6]
Hougang United 0-1 Tampines Rovers
Tanjong Pagar United 2-3 Balestier Khalsa
[Jul 7]
Young Lions 0-4 Lion City Sailors
[Jul 8]
Brunei DPMM 1-1 Albirex Niigata (S)
Geylang International bye
Round 20
[Jul 11]
Lion City Sailors 1-3 Brunei DPMM
Tampines Rovers 2-1 Tanjong Pagar United
[Jul 12]
Balestier Khalsa 4-2 Young Lions
Geylang International 0-2 Hougang United
Albirex Niigata (S) bye
Round 21
[Jul 15]
Tanjong Pagar United 2-2 Geylang International
Young Lions 2-3 Tampines Rovers
[Jul 16]
Albirex Niigata (S) 3-1 Lion City Sailors
Brunei DPMM 2-3 Balestier Khalsa
Hougang United bye
Round 22
[Jul 20]
Lion City Sailors 3-2 Tanjong Pagar United
[Jul 21]
Balestier Khalsa 1-3 Hougang United
[Jul 22]
Albirex Niigata (S) 5-0 Young Lions
Tampines Rovers 2-3 Geylang International
Brunei DPMM bye
Round 23
[Jul 28]
Albirex Niigata (S) 6-3 Tampines Rovers
Brunei DPMM 1-2 Geylang International
[Jul 29]
Young Lions 2-6 Hougang United
[Jul 31]
Lion City Sailors 5-2 Balestier Khalsa
Tanjong Pagar United bye
Round 24
[Aug 3]
Geylang International 1-6 Albirex Niigata (S)
[Aug 4]
Hougang United 1-0 Brunei DPMM
Tampines Rovers 2-5 Lion City Sailors
[Aug 5]
Tanjong Pagar United 3-2 Young Lions
Balestier Khalsa bye
Round 25
[Aug 11]
Tanjong Pagar United 2-3 Albirex Niigata (S)
Geylang International 2-6 Balestier Khalsa
[Aug 12]
Young Lions 0-2 Brunei DPMM
[Aug 13]
Hougang United 2-8 Lion City Sailors
Tampines Rovers bye
Round 26
[Aug 18]
Tampines Rovers 2-2 Brunei DPMM
[Aug 19]
Geylang International 3-0 Young Lions
Hougang United 3-3 Tanjong Pagar United
[Aug 20]
Balestier Khalsa 1-5 Albirex Niigata (S)
Lion City Sailors bye
Round 27
[Sep 15]
Balestier Khalsa 1-3 Tampines Rovers
Tanjong Pagar United 1-1 Brunei DPMM
[Sep 16]
Albirex Niigata (S) 5-0 Hougang United
Lion City Sailors 3-1 Geylang International
Young Lions bye
Final Table:
1.Albirex Niigata (S) 24 20 2 2 86-20 62 [C] Champions
2.Lion City Sailors 24 17 3 4 79-39 54
3.Tampines Rovers 24 14 6 4 47-32 48
4.Balestier Khalsa 24 12 0 12 60-71 36
5.Geylang International 24 10 3 11 41-52 33
6.Hougang United 24 9 2 13 37-57 29
7.Brunei DPMM 24 6 5 13 39-43 23 [N]
8.Tanjong Pagar United 24 6 3 15 39-62 21
9.Young Lions 24 1 2 21 24-76 5
NB: Brunei DPMM, who had withdrawn from the league in 2020 due to the
Covid-19 pandemic, were readmitted;
Young Lions are the Singapore youth side
Group Stage Final Tables: Group A 1.Brunei DPMM 4 3 1 0 7- 2 10 Semifinals 2.Tampines Rovers 4 2 1 1 9- 3 7 Semifinals 3.Albirex Niigata (S) 4 1 2 1 5- 4 5 4.Geylang International 4 1 0 3 6-12 3 5.Young Lions 4 1 0 3 4-10 3 Group B 1.Lion City Sailors 3 2 1 0 12- 2 7 Semifinals 2.Hougang United 3 1 1 1 5- 5 4 Semifinals 3.Balestier Khalsa 3 1 0 2 9-12 3 4.Tanjong Pagar United 3 1 0 2 5-12 3 Semifinals First Legs [Dec 3] Hougang United 1-0 Brunei DPMM Tampines Rovers 3-3 Lion City Sailors Second Legs [Dec 6] Brunei DPMM 0-2 Hougang United Lion City Sailors 3-0 Tampines Rovers Third Place Match [Dec 9] Brunei DPMM 0-2 Tampines Rovers Final [Dec 9] Hougang United 1-3 Lion City Sailors
[Nov 22, 2024; att: 3,078] Albirex Niigata (S) 0-2 Lion City Sailors
Final Table: 1.Singapore Khalsa Ass. 14 11 3 0 39-15 36 2.Tiong Bahru FC 14 8 1 5 32-25 25 3.Yishun Sentek Mariners 14 7 3 4 33-18 24 4.Singapore Cricket Club 14 7 2 5 26-19 23 5.Katong FC 14 4 4 6 19-23 16 6.Project Vaults Oxley 14 5 1 8 25-41 16 --------------------------------------------------- 7.Warwick Knights 14 3 4 7 25-36 13 Relegated 8.Jungfrau Punggol FC 14 1 2 11 21-43 5 Relegated
Final Table: 1.Police SA 18 13 4 1 48-18 43 Promoted 2.South Avenue SC 18 12 3 3 49-22 39 Promoted --------------------------------------------------- 3.Kaki Bukit SC 18 9 3 6 38-32 30 4.GFA Sporting Westlake FC 18 7 7 4 33-27 28 5.Staright Soccerites FC 18 7 1 10 24-29 22 6.Bishan Barx SC 18 5 6 7 26-25 21 7.Eunos Crescent FC 18 5 5 8 29-41 20 8.Admiralty CSN 18 5 4 9 28-36 19 --------------------------------------------------- 9.Singapore Xin Hua FC 18 5 4 9 27-43 16 Relegated 10.Mattar Sailors SC 18 2 3 13 19-48 9 Relegated
NB: third league level within the SFL structure Group Stage Final Tables: Group A 1.GTC Circuit FC 3 2 0 1 9- 3 6 Qualified 2.Woodlands Rangers FC 3 1 1 1 5- 4 4 3.GFA Victoria FC 3 1 1 1 5- 7 4 4.Winchester Isla FC 3 1 0 2 6-11 3 Group B 1.Westwood El'Junior FC 3 3 0 0 8- 1 9 Qualified 2.Prisons SRC 3 2 0 1 6- 1 6 Qualified 3.Verde Cresta Combined SC 3 1 0 2 4- 7 3 4.Pasirian Lions SC 3 0 0 3 1-10 0 Group C 1.Marsiling Causeway Bay FC 3 1 2 0 6- 4 5 Qualified 2.Gymkhana FC 3 1 1 1 4- 4 4 3.Tanah Merah United FC 3 1 1 1 3- 3 4 4.Bukit Timah FC 3 1 0 2 2- 4 3 Group D 1.Yishun FC 3 3 0 0 9- 4 9 Qualified 2.Bedok South Avenue SC 3 2 0 1 10- 4 6 Qualified 3.Simei United 3 1 0 2 6- 8 3 4.Balestier United RC 3 0 0 3 6-15 0 Group E 1.Tengah FC 2 2 0 0 8- 2 6 Qualified 2.East Coast United FC 2 1 0 1 4- 6 3 Qualified 3.Geylang Serai FC 2 0 0 2 2- 6 0 Knock-out Stage Quarterfinals [Sep 16] Marsiling Causeway Bay FC 1-3 East Coast United FC [Sep 17] GDT Circuit FC 4-1 Yishun FC Westwood El'Junior FC 2-3 Bedok South Avenue SC Tengah FC 3-1 Prisons SRC Semifinals [Sep 23] East Coast United FC 3-4 Bedok South Avenue SC [Sep 24] GDT Circuit FC 0-3 Tengah FC Final [Oct 1] Bedok South Avenue SC 1-0 Tengah FC NB: both finalists promoted
Prepared and maintained by Hans Schöggl and Karel Stokkermans for the Rec.Sport.Soccer Statistics Foundation
Authors: Hans Schöggl and Karel Stokkermans
Last updated: 10 Jun 2025
(C) Copyright Hans Schöggl, Karel Stokkermans and RSSSF 2023/25
You are free to copy this document in whole or part provided that proper
acknowledgement is given to the authors. All rights reserved.