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.