# 2023–24 West of Scotland Football League

The 2023–24 West of Scotland Football League (known as the PDM Buildbase West of Scotland League for sponsorship reasons) was the fourth season of the West of Scotland Football League, with its top division as part of the sixth tier of the Scottish football pyramid system. Beith Juniors were the reigning champions, and successfully defended their title, winning the Premier Division by five points from Auchinleck Talbot.

## Teams
### To West of Scotland Football League

Transferred from Saturday Morning Amateur Football League
* Knightswood

## Premier Division

Beith Juniors retained their West of Scotland Football League title, opening up an unassailable lead over Clydebank and Auchinleck Talbot, with a 2–0 home victory over Troon on 4 May 2024. However, just like the previous season, they were ineligible for promotion as they do not hold an SFA club licence.

### Stadia and locations

| Club | Location | Ground | Surface | Capacity | Seats | Floodlit |
| Arthurlie | Barrhead | Dunterlie Park | Grass | 3,000 | 0 | No |
| Auchinleck Talbot | Auchinleck | Beechwood Park | Grass | 3,500 | 500 | Yes |
| Beith Juniors | Beith | Bellsdale Park | Grass | 1,809 | 0 | No |
| Benburb | Drumoyne, Glasgow | New Tinto Park | Artificial | 1,000 | 500 | Yes |
| Clydebank | Clydebank | Holm Park | Artificial | 1,200 | 0 | Yes |
| Cumnock Juniors | Cumnock | Townhead Park | Artificial | 2,000 | 0 | Yes |
| Darvel | Darvel | Recreation Park | Grass | 2,750 | 60 | Yes |
| Gartcairn | Airdrie | MTC Park | Artificial | 500 | 50 | Yes |
| Glenafton Athletic | New Cumnock | Loch Park | Grass | 2,000 | 250 | Yes |
| Hurlford United | Hurlford | Blair Park | Grass | 1,500 | 0 | No |
| Irvine Meadow XI | Irvine | Meadow Park | Grass | 2,132 | 700 | Yes |
| Kirkintilloch Rob Roy | Cumbernauld | Guy's Meadow | Grass | 1,000 | 0 | No |
| Largs Thistle | Largs | Barrfields Park | Artificial | 3,000 | 800 | No |
| Pollok | Pollokshaws, Glasgow | Newlandsfield Park | Grass | 2,088 | 0 | Yes |
| St Cadoc's | Drumoyne, Glasgow | New Tinto Park | Artificial | 1,000 | 0 | Yes |
| Troon | Troon | Portland Park | Grass | 2,000 | 100 | Yes |

#### Notes

* ↑ Kirkintilloch Rob Roy ground-shared with Cumbernauld United at Guy's Meadow.
* ↑ St Cadoc's ground-shared with Benburb at New Tinto Park.

### League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Beith Juniors (C) | 30 | 18 | 6 | 6 | 72 | 43 | +29 | 60 | Ineligible for the Lowland League play-off |
| 2 | Auchinleck Talbot | 30 | 17 | 4 | 9 | 63 | 33 | +30 | 55 | |
| 3 | St Cadoc's | 30 | 16 | 6 | 8 | 66 | 43 | +23 | 54 | |
| 4 | Clydebank | 30 | 16 | 6 | 8 | 56 | 35 | +21 | 54 | |
| 5 | Largs Thistle | 30 | 16 | 5 | 9 | 53 | 39 | +14 | 53 | |
| 6 | Pollok | 30 | 14 | 8 | 8 | 73 | 56 | +17 | 50 | |
| 7 | Darvel | 30 | 14 | 6 | 10 | 56 | 45 | +11 | 48 | |
| 8 | Cumnock Juniors | 30 | 11 | 8 | 11 | 50 | 69 | −19 | 41 | |
| 9 | Hurlford United | 30 | 12 | 4 | 14 | 51 | 45 | +6 | 40 | |
| 10 | Gartcairn | 30 | 10 | 8 | 12 | 52 | 52 | 0 | 38 | |
| 11 | Benburb | 30 | 11 | 5 | 14 | 42 | 44 | −2 | 38 | |
| 12 | Troon | 30 | 10 | 6 | 14 | 47 | 63 | −16 | 36 | |
| 13 | Glenafton Athletic | 30 | 9 | 6 | 15 | 46 | 67 | −21 | 33 | |
| 14 | Arthurlie (R) | 30 | 8 | 8 | 14 | 58 | 59 | −1 | 32 | Relegation to the First Division |
| 15 | Kirkintilloch Rob Roy (R) | 30 | 7 | 6 | 17 | 32 | 61 | −29 | 27 | Relegation to the First Division |
| 16 | Irvine Meadow XI (R) | 30 | 3 | 4 | 23 | 25 | 88 | −63 | 13 | Relegation to the First Division |

### Results

| Home \ Away | ART | AUC | BEI | BNB | CLY | CMN | DAR | GAR | GLE | HUR | IVM | KRR | LRG | PLK | STC | TRO |
| Arthurlie | | 2–2 | 5–0 | 2–1 | 0–1 | 4–3 | 0–3 | 1–1 | 1–2 | 2–1 | 7–0 | 1–2 | 1–2 | 2–2 | 3–0 | 1–2 |
| Auchinleck Talbot | 2–2 | | 1–1 | 3–0 | 0–1 | 4–0 | 1–2 | 4–0 | 5–2 | 2–0 | 2–0 | 1–0 | 1–0 | 6–3 | 1–2 | 3–2 |
| Beith Juniors | 4–2 | 1–0 | | 2–0 | 2–1 | 1–3 | 3–2 | 4–4 | 9–0 | 1–1 | 4–0 | 1–0 | 4–1 | 1–1 | 1–3 | 2–0 |
| Benburb | 1–1 | 0–1 | 1–4 | | 2–0 | 1–2 | 0–3 | 0–1 | 1–1 | 3–0 | 4–1 | 3–1 | 0–0 | 4–1 | 0–2 | 2–1 |
| Clydebank | 3–2 | 2–1 | 3–0 | 2–3 | | 5–2 | 2–2 | 0–1 | 4–1 | 1–1 | 3–1 | 2–0 | 2–3 | 1–0 | 2–1 | 5–1 |
| Cumnock Juniors | 3–2 | 1–3 | 2–4 | 2–1 | 1–1 | | 0–5 | 3–2 | 1–2 | 3–2 | 1–0 | 1–1 | 1–1 | 2–2 | 0–2 | 4–3 |
| Darvel | 2–2 | 0–5 | 2–1 | 3–2 | 1–0 | 2–2 | | 2–1 | 1–2 | 0–0 | 4–3 | 4–0 | 0–1 | 2–4 | 2–0 | 1–2 |
| Gartcairn | 4–1 | 0–2 | 1–2 | 3–3 | 2–2 | 0–1 | 2–0 | | 4–3 | 2–1 | 1–0 | 0–1 | 1–1 | 2–4 | 0–1 | 3–3 |
| Glenafton Athletic | 1–1 | 2–1 | 0–0 | 0–1 | 2–3 | 5–0 | 0–1 | 0–1 | | 1–1 | 1–2 | 2–1 | 2–3 | 2–5 | 1–3 | 1–3 |
| Hurlford United | 1–2 | 3–2 | 1–2 | 0–1 | 0–1 | 5–2 | 2–0 | 1–0 | 3–4 | | 2–1 | 5–2 | 0–1 | 1–3 | 2–1 | 3–1 |
| Irvine Meadow XI | 3–2 | 1–4 | 0–5 | 1–3 | 1–1 | 1–1 | 1–4 | 1–4 | 2–4 | 0–6 | | 1–1 | 0–1 | 2–1 | 0–3 | 0–2 |
| Kirkintilloch Rob Roy | 3–2 | 0–2 | 0–3 | 2–1 | 0–3 | 1–4 | 3–1 | 0–4 | 1–1 | 0–2 | 2–2 | | 0–3 | 1–2 | 2–0 | 2–1 |
| Largs Thistle | 2–0 | 2–0 | 0–1 | 1–0 | 0–2 | 5–0 | 1–3 | 4–2 | 2–2 | 3–1 | 1–0 | 1–0 | | 1–3 | 1–1 | 3–4 |
| Pollok | 3–1 | 1–0 | 3–4 | 1–1 | 2–1 | 2–2 | 1–1 | 3–2 | 1–2 | 3–1 | 6–0 | 3–3 | 4–2 | | 2–3 | 2–2 |
| St Cadoc's | 4–4 | 3–4 | 3–3 | 3–1 | 2–2 | 0–1 | 1–1 | 2–2 | 4–0 | 1–3 | 6–0 | 3–1 | 3–2 | 3–2 | | 1–0 |
| Troon | 1–2 | 0–0 | 3–2 | 0–2 | 1–0 | 2–2 | 3–2 | 2–2 | 2–0 | 0–2 | 2–1 | 2–2 | 1–5 | 1–3 | 0–5 | |
* ↑ Match played at Duncansfield Park, Kilsyth.
* ↑ Match played at Duncansfield Park, Kilsyth.

## First Division

Drumchapel United won the league title on 7 May 2024, with their 4–0 win at Thorniewood United taking them out of reach of both Johnstone Burgh (7 points behind with 2 games remaining) and Shotts Bon Accord (10 points behind with 3 games remaining).

### Stadia and locations

| Team | Location | Ground | Surface | Capacity | Seats | Floodlit |
| Ashfield | Easterhouse, Glasgow | Stepford Football Centre | Artificial | 500 | 0 | Yes |
| Blantyre Victoria | Blantyre | Castle Park | Grass | 1,500 | 60 | No |
| Cambuslang Rangers | Cambuslang | Somervell Park | Grass | 2,000 | 0 | No |
| Drumchapel United | Drumchapel, Glasgow | Donald Dewar Centre 4G | Artificial | 500 | 0 | Yes |
| Johnstone Burgh | Johnstone | Keanie Park | Grass | 2,000 | 0 | No |
| Kilbirnie Ladeside | Kilbirnie | Valefield Park | Grass | 1,000 | 22 | No |
| Kilwinning Rangers | Kilwinning | Buffs Park | Grass | 2,800 | 270 | Yes |
| Maybole Juniors | Maybole | Ladywell Stadium | Grass | 1,000 | 124 | No |
| Neilston | Neilston | Brig-o-Lea Stadium | Grass | 1,000 | 0 | No |
| Petershill | Springburn, Glasgow | Petershill Park | Artificial | 1,500 | 500 | Yes |
| Renfrew | Renfrew | New Western Park | Artificial | 1,000 | 0 | Yes |
| Rutherglen Glencairn | Rutherglen | New Southcroft Park | Grass | 1,683 | 0 | Yes |
| Shotts Bon Accord | Shotts | Hannah Park | Grass | 2,000 | 0 | No |
| St Roch's | Provanmill, Glasgow | James McGrory Park | Grass | 1,500 | 0 | No |
| Thorniewood United | Viewpark | Robertson Park | Grass | 1,000 | 0 | No |
| Whitletts Victoria | Ayr | Dam Park Stadium | Grass | 3,000 | 478 | Yes |

#### Notes

* ↑ Ashfield ground-shared with Easterhouse Academy at Stepford Football Centre.

### League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or relegation |
| 1 | Drumchapel United (C, P) | 30 | 19 | 5 | 6 | 79 | 34 | +45 | 62 | Promotion to the Premier Division |
| 2 | Shotts Bon Accord (P) | 30 | 18 | 5 | 7 | 54 | 42 | +12 | 59 | Promotion to the Premier Division |
| 3 | Johnstone Burgh (P) | 30 | 18 | 4 | 8 | 73 | 46 | +27 | 58 | Promotion to the Premier Division |
| 4 | Rutherglen Glencairn | 30 | 16 | 5 | 9 | 48 | 40 | +8 | 53 | |
| 5 | Ashfield | 30 | 16 | 3 | 11 | 76 | 54 | +22 | 51 | |
| 6 | Petershill | 30 | 14 | 5 | 11 | 59 | 58 | +1 | 47 | |
| 7 | Kilwinning Rangers | 30 | 14 | 4 | 12 | 57 | 52 | +5 | 46 | |
| 8 | Blantyre Victoria | 30 | 13 | 5 | 12 | 37 | 42 | −5 | 44 | |
| 9 | Thorniewood United | 30 | 11 | 9 | 10 | 50 | 48 | +2 | 42 | |
| 10 | St Roch's | 30 | 12 | 6 | 12 | 43 | 44 | −1 | 42 | |
| 11 | Kilbirnie Ladeside | 30 | 11 | 6 | 13 | 64 | 58 | +6 | 39 | |
| 12 | Renfrew | 30 | 9 | 6 | 15 | 45 | 50 | −5 | 33 | |
| 13 | Maybole Juniors | 30 | 9 | 4 | 17 | 46 | 71 | −25 | 31 | |
| 14 | Cambuslang Rangers (R) | 30 | 6 | 9 | 15 | 45 | 77 | −32 | 27 | Relegation to the Second Division |
| 15 | Whitletts Victoria (R) | 30 | 5 | 8 | 17 | 47 | 80 | −33 | 23 | Relegation to the Second Division |
| 16 | Neilston (R) | 30 | 5 | 4 | 21 | 37 | 64 | −27 | 19 | Relegation to the Second Division |

### Results

| Home \ Away | ASH | BLV | CAM | DRU | JOB | KLB | KWN | MAY | NEI | PET | REN | RUG | SBA | STR | THU | WHV |
| Ashfield | | 1–2 | 1–1 | 1–5 | 3–3 | 5–2 | 3–0 | 4–1 | 6–3 | 4–3 | 3–2 | 0–1 | 2–3 | 0–1 | 2–3 | 4–4 |
| Blantyre Victoria | 3–0 | | 2–1 | 1–1 | 1–2 | 2–1 | 0–4 | 2–1 | 0–2 | 3–3 | 1–0 | 2–0 | 2–3 | 0–2 | 2–1 | 1–0 |
| Cambuslang Rangers | 0–7 | 0–1 | | 0–3 | 2–5 | 1–4 | 2–2 | 3–2 | 2–1 | 3–3 | 2–2 | 0–3 | 4–4 | 4–1 | 2–1 | 1–1 |
| Drumchapel United | 2–0 | 3–0 | 2–0 | | 3–1 | 6–1 | 3–2 | 0–1 | 4–1 | 3–4 | 1–1 | 2–2 | 6–0 | 4–0 | 1–3 | 3–3 |
| Johnstone Burgh | 3–2 | 1–0 | 6–1 | 2–1 | | 2–1 | 2–3 | 1–4 | 2–0 | 4–0 | 3–0 | 1–1 | 2–3 | 2–1 | 2–2 | 5–1 |
| Kilbirnie Ladeside | 2–3 | 3–3 | 2–2 | 2–3 | 2–0 | | 1–2 | 4–1 | 4–0 | 1–3 | 3–0 | 0–1 | 0–2 | 0–1 | 1–1 | 5–2 |
| Kilwinning Rangers | 1–2 | 3–1 | 3–2 | 3–1 | 2–3 | 1–2 | | 0–1 | 1–5 | 3–0 | 1–1 | 1–2 | 1–1 | 4–3 | 1–2 | 3–4 |
| Maybole Juniors | 0–3 | 1–1 | 1–4 | 0–4 | 2–4 | 3–3 | 2–4 | | 1–0 | 0–4 | 2–2 | 2–2 | 2–3 | 2–0 | 3–2 | 4–1 |
| Neilston | 1–2 | 0–1 | 2–2 | 1–2 | 2–4 | 2–3 | 0–2 | 0–1 | | 1–2 | 3–2 | 0–3 | 1–2 | 1–0 | 2–5 | 2–2 |
| Petershill | 1–4 | 1–0 | 1–0 | 3–1 | 3–2 | 5–1 | 2–3 | 3–1 | 0–2 | | 2–1 | 1–2 | 0–2 | 4–1 | 2–2 | 3–3 |
| Renfrew | 3–1 | 0–1 | 5–0 | 0–3 | 0–4 | 2–4 | 2–1 | 3–2 | 0–0 | 0–1 | | 4–2 | 4–1 | 0–2 | 3–0 | 3–0 |
| Rutherglen Glencairn | 1–4 | 1–2 | 2–1 | 1–1 | 2–1 | 0–5 | 0–0 | 1–0 | 4–2 | 5–1 | 2–0 | | 0–1 | 2–0 | 1–0 | 3–1 |
| Shotts Bon Accord | 0–1 | 0–0 | 5–0 | 0–3 | 0–1 | 2–1 | 1–2 | 5–1 | 1–0 | 2–0 | 1–0 | 0–3 | | 2–0 | 0–0 | 1–0 |
| St Roch's | 0–3 | 3–1 | 3–2 | 1–3 | 2–1 | 0–0 | 2–0 | 4–1 | 1–1 | 1–1 | 3–0 | 3–0 | 1–2 | | 1–1 | 1–1 |
| Thorniewood United | 2–1 | 2–1 | 0–0 | 0–4 | 0–2 | 1–4 | 1–2 | 1–0 | 2–1 | 1–2 | 1–1 | 3–0 | 3–3 | 2–2 | | 5–2 |
| Whitletts Victoria | 1–4 | 2–1 | 2–3 | 0–1 | 2–2 | 2–2 | 1–2 | 3–4 | 3–1 | 2–1 | 0–4 | 2–1 | 2–4 | 0–3 | 0–3 | |
* ↑ Match played at New Western Park, Renfrew.
* ↑ Match played at K-Park Training Academy, East Kilbride.
* ↑ Match played at New Western Park, Renfrew.
* ↑ Match played at K-Park Training Academy, East Kilbride.
* ↑ Match played at New Douglas Park, Hamilton.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.
* ↑ Match played at New Voluntary Park.

## Second Division

Ardrossan Winton Rovers won the title on 4 May 2024 with a 5–4 home victory over Caledonian Locomotives – who had changed their name from Rossvale prior to the start of the season – to put the title out of reach of Cumbernauld United.

### Stadia and locations

| Team | Location | Ground | Surface | Capacity | Seats | Floodlit |
| Ardrossan Winton Rovers | Ardrossan | Winton Park | Grass | 2,000 | 80 | Yes |
| Bonnyton Thistle | Kilmarnock | Bonnyton Park | Artificial | 500 | 0 | Yes |
| Caledonian Locomotives | Springburn, Glasgow | Petershill Park | Artificial | 1,500 | 500 | Yes |
| Craigmark Burntonians | Dalmellington | Station Park | Grass | 1,500 | 0 | No |
| Cumbernauld United | Cumbernauld Village | Guy's Meadow | Grass | 1,000 | 0 | No |
| Forth Wanderers | Forth | Kingshill Park | Grass | 1,000 | 0 | No |
| Glasgow Perthshire | Possilpark, Glasgow | Keppoch Park | Grass | 1,500 | 90 | No |
| Glasgow University | Airdrie | Excelsior Stadium | Artificial | 10,101 | 10,101 | Yes |
| Kilsyth Rangers | Kilsyth | Duncansfield | Grass | 1,500 | 0 | No |
| Larkhall Thistle | Larkhall | Gasworks Park | Grass | 1,500 | 0 | No |
| Maryhill | Maryhill, Glasgow | Lochburn Park | Grass | 1,800 | 205 | Yes |
| Muirkirk Juniors | Muirkirk | Burnside Park | Grass | 1,600 | 0 | No |
| St Anthony's | Shieldhall, Glasgow | McKenna Park | Grass | 1,000 | 0 | No |
| Vale of Clyde | Tollcross, Glasgow | Fullarton Park | Grass | 1,500 | 0 | No |
| Wishaw | Wishaw | Beltane Park | Grass | 1,000 | 0 | No |
| Yoker Athletic | Clydebank | Holm Park | Artificial | 1,200 | 0 | Yes |

#### Notes

* ↑ Caledonian Locomotives ground-shared with Petershill at Petershill Park.
* ↑ Glasgow University ground-shared with Airdrieonians at the Excelsior Stadium.

### League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or relegation |
| 1 | Ardrossan Winton Rovers (C, P) | 30 | 25 | 0 | 5 | 96 | 40 | +56 | 75 | Promotion to the First Division |
| 2 | Vale of Clyde (P) | 30 | 21 | 2 | 7 | 78 | 38 | +40 | 65 | Promotion to the First Division |
| 3 | Cumbernauld United (P) | 30 | 19 | 3 | 8 | 65 | 43 | +22 | 60 | Promotion to the First Division |
| 4 | Caledonian Locomotives | 30 | 16 | 5 | 9 | 70 | 46 | +24 | 53 | |
| 5 | Kilsyth Rangers | 30 | 15 | 4 | 11 | 53 | 48 | +5 | 49 | |
| 6 | Larkhall Thistle | 30 | 13 | 5 | 12 | 56 | 49 | +7 | 44 | |
| 7 | Maryhill | 30 | 12 | 8 | 10 | 58 | 54 | +4 | 44 | |
| 8 | Forth Wanderers | 30 | 13 | 4 | 13 | 46 | 60 | −14 | 43 | |
| 9 | Muirkirk Juniors | 30 | 11 | 4 | 15 | 56 | 64 | −8 | 37 | |
| 10 | Yoker Athletic | 30 | 9 | 8 | 13 | 39 | 49 | −10 | 35 | |
| 11 | St Anthony's | 30 | 10 | 7 | 13 | 47 | 46 | +1 | 34 | |
| 12 | Bonnyton Thistle | 30 | 8 | 9 | 13 | 51 | 64 | −13 | 33 | |
| 13 | Craigmark Burntonians | 30 | 9 | 6 | 15 | 44 | 65 | −21 | 33 | |
| 14 | Glasgow Perthshire (R) | 30 | 7 | 7 | 16 | 59 | 81 | −22 | 28 | Relegation to the Third Division |
| 15 | Wishaw (R) | 30 | 7 | 4 | 19 | 42 | 79 | −37 | 25 | Relegation to the Third Division |
| 16 | Glasgow University (R) | 30 | 5 | 4 | 21 | 38 | 72 | −34 | 19 | Relegation to the Third Division |
* ↑ St Anthony's deducted 3 points for fielding an ineligible player.

### Results

| Home \ Away | AWR | BON | CAL | CMU | CRB | FOR | GLP | GLU | KRA | LAR | MAR | MUI | STA | VOC | WSH | YOK |
| Ardrossan Winton Rovers | | 3–2 | 5–4 | 2–3 | 3–2 | 3–0 | 10–0 | 6–1 | 3–1 | 2–1 | 4–2 | 4–2 | 4–1 | 3–4 | 3–0 | 4–0 |
| Bonnyton Thistle | 0–3 | | 2–2 | 3–2 | 4–3 | 1–1 | 2–4 | 2–1 | 1–4 | 0–4 | 2–4 | 0–2 | 3–4 | 1–2 | 3–0 | 0–0 |
| Caledonian Locomotives | 1–2 | 3–2 | | 6–0 | 4–0 | 3–1 | 1–1 | 3–1 | 3–0 | 3–0 | 1–2 | 2–2 | 1–0 | 1–0 | 7–2 | 1–1 |
| Cumbernauld United | 2–1 | 0–2 | 3–2 | | 2–3 | 2–3 | 2–1 | 4–2 | 4–0 | 5–2 | 0–2 | 4–1 | 1–1 | 4–0 | 3–0 | 1–1 |
| Craigmark Burntonians | 0–3 | 1–1 | 1–2 | 0–2 | | 2–2 | 5–2 | 1–3 | 1–0 | 1–3 | 2–2 | 3–2 | 0–2 | 1–1 | 0–0 | 2–3 |
| Forth Wanderers | 3–2 | 3–4 | 1–2 | 1–2 | 3–2 | | 2–1 | 1–1 | 2–1 | 0–2 | 1–2 | 2–1 | 2–1 | 0–6 | 4–3 | 3–1 |
| Glasgow Perthshire | 3–7 | 3–0 | 3–5 | 1–4 | 0–0 | 4–1 | | 2–3 | 3–1 | 2–3 | 4–4 | 2–3 | 0–3 | 4–2 | 1–2 | 1–4 |
| Glasgow University | 2–3 | 1–2 | 1–4 | 0–4 | 1–2 | 0–1 | 2–2 | | 0–2 | 1–4 | 2–2 | 0–3 | 2–2 | 0–2 | 3–0 | 1–2 |
| Kilsyth Rangers | 0–1 | 1–1 | 0–2 | 3–0 | 0–2 | 0–0 | 1–1 | 3–1 | | 3–1 | 1–1 | 3–0 | 2–1 | 4–3 | 3–2 | 4–0 |
| Larkhall Thistle | 0–3 | 3–1 | 2–2 | 1–2 | 3–1 | 2–0 | 2–0 | 2–3 | 4–1 | | 2–3 | 2–2 | 0–0 | 0–1 | 2–2 | 1–1 |
| Maryhill | 0–3 | 3–3 | 2–1 | 0–2 | 1–2 | 1–2 | 4–2 | 3–2 | 4–1 | 4–0 | | 0–2 | 0–2 | 2–1 | 3–1 | 2–2 |
| Muirkirk Juniors | 1–2 | 2–2 | 0–2 | 0–1 | 3–0 | 0–2 | 2–2 | 3–0 | 3–5 | 2–6 | 1–0 | | 3–1 | 3–4 | 5–2 | 1–0 |
| St Anthony's | 1–2 | 1–1 | 5–1 | 0–1 | 0–2 | 2–1 | 2–2 | 2–1 | 1–2 | 0–2 | 1–0 | 4–1 | | 1–3 | 5–3 | 1–2 |
| Vale of Clyde | 2–3 | 1–0 | 3–0 | 2–2 | 7–0 | 5–0 | 3–0 | 3–1 | 1–2 | 2–1 | 3–1 | 6–2 | 2–1 | | 3–0 | 2–0 |
| Wishaw | 2–1 | 2–5 | 2–0 | 3–2 | 2–3 | 1–2 | 0–6 | 1–2 | 0–2 | 2–0 | 2–2 | 0–3 | 2–2 | 0–2 | | 4–1 |
| Yoker Athletic | 0–1 | 1–1 | 2–1 | 0–1 | 4–2 | 3–2 | 1–2 | 1–0 | 2–3 | 0–1 | 2–2 | 3–1 | 0–0 | 1–2 | 1–2 | |
* ↑ Match played at John Cumming Stadium, Carluke.
* ↑ Match played at McKenna Park, Shieldhall.

## Third Division

Lanark United won the league title on 11 May 2024, with an 8–0 victory over Greenock Juniors giving them an unassailable lead over Lesmahagow, following a run of 18 wins in 19 games.

### Stadia and locations

| Team | Location | Ground | Surface | Capacity | Seats | Floodlit |
| Ardeer Thistle | Stevenston | Ardeer Stadium | Grass | 1,500 | 0 | No |
| Bellshill Athletic | Bellshill | Rockburn Park | Grass | 500 | 0 | No |
| Dalry Thistle | Dalry | Merksworth Park | Grass | 1,500 | 0 | No |
| Finnart | Springburn, Glasgow | Springburn Park | Artificial | 500 | 0 | Yes |
| Girvan | Girvan | Hamilton Park | Grass | 2,000 | 200 | Yes |
| Glasgow United | Shettleston, Glasgow | Greenfield Park | Grass | 1,800 | 10 | No |
| Greenock Juniors | Greenock | Ravenscraig Stadium | Grass | 6,000 | 650 | Yes |
| Irvine Victoria | Irvine | Victoria Park | Grass | 1,000 | 0 | No |
| Kello Rovers | Kirkconnel | Nithside Park | Grass | 1,700 | 0 | No |
| Kilsyth Athletic | Kilsyth | Kilsyth Sports Field | Artificial | 300 | 0 | Yes |
| Lanark United | Lanark | Moor Park | Grass | 1,500 | 0 | No |
| Lesmahagow | Lesmahagow | Craighead Park | Grass | 2,000 | 0 | No |
| Port Glasgow | Port Glasgow | Port Glasgow Community Stadium | Artificial | 1,500 | 0 | Yes |
| Threave Rovers | Castle Douglas | Meadow Park | Grass | 1,500 | 100 | Yes |
| Vale of Leven | Alexandria | Millburn Park | Grass | 2,000 | 0 | No |
| West Park United | Bishopbriggs | Huntershill | Artificial | 500 | 0 | Yes |

### League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or relegation |
| 1 | Lanark United (C, P) | 30 | 21 | 4 | 5 | 76 | 35 | +41 | 67 | Promotion to the Second Division |
| 2 | Lesmahagow (P) | 30 | 17 | 5 | 8 | 77 | 64 | +13 | 56 | Promotion to the Second Division |
| 3 | Bellshill Athletic (P) | 30 | 16 | 6 | 8 | 64 | 47 | +17 | 54 | Promotion to the Second Division |
| 4 | Threave Rovers | 30 | 15 | 7 | 8 | 64 | 44 | +20 | 52 | |
| 5 | Finnart | 30 | 14 | 7 | 9 | 58 | 49 | +9 | 49 | |
| 6 | Vale of Leven | 30 | 14 | 5 | 11 | 56 | 64 | −8 | 47 | |
| 7 | Irvine Victoria | 30 | 13 | 6 | 11 | 68 | 54 | +14 | 45 | |
| 8 | Greenock Juniors | 30 | 13 | 6 | 11 | 58 | 63 | −5 | 45 | |
| 9 | Glasgow United | 30 | 14 | 2 | 14 | 69 | 62 | +7 | 41 | |
| 10 | Dalry Thistle | 30 | 11 | 5 | 14 | 55 | 60 | −5 | 38 | |
| 11 | Ardeer Thistle | 30 | 9 | 9 | 12 | 52 | 63 | −11 | 36 | |
| 12 | Kilsyth Athletic | 30 | 10 | 4 | 16 | 52 | 57 | −5 | 34 | |
| 13 | Girvan | 30 | 9 | 7 | 14 | 50 | 55 | −5 | 34 | |
| 14 | Port Glasgow (R) | 30 | 11 | 3 | 16 | 52 | 60 | −8 | 33 | Relegation to the Fourth Division |
| 15 | Kello Rovers (R) | 30 | 5 | 6 | 19 | 39 | 81 | −42 | 21 | Relegation to the Fourth Division |
| 16 | West Park United (R) | 30 | 4 | 6 | 20 | 54 | 86 | −32 | 18 | Relegation to the Fourth Division |
* ↑ Glasgow United deducted 3 points for fielding an ineligible player.
* ↑ Port Glasgow deducted 3 points for fielding an ineligible player.

### Results

| Home \ Away | ARD | BEL | DAL | FIN | GIR | GLA | GRE | IRV | KEL | KIL | LAN | LES | PGL | THR | VOL | WPU |
| Ardeer Thistle | | 1–1 | 2–1 | 0–3 | 2–2 | 4–5 | 1–2 | 0–4 | 1–0 | 1–0 | 1–4 | 5–1 | 2–2 | 1–2 | 1–2 | 2–4 |
| Bellshill Athletic | 2–1 | | 2–1 | 3–1 | 2–1 | 5–0 | 0–1 | 5–4 | 4–1 | 2–0 | 0–1 | 5–5 | 3–0 | 2–2 | 2–1 | 3–3 |
| Dalry Thistle | 3–6 | 1–1 | | 1–1 | 4–1 | 3–1 | 1–0 | 2–2 | 2–4 | 4–1 | 2–3 | 4–4 | 2–4 | 0–2 | 3–1 | 3–2 |
| Finnart | 2–2 | 1–2 | 2–0 | | 2–1 | 1–0 | 0–1 | 3–2 | 1–0 | 2–2 | 2–4 | 2–4 | 4–1 | 4–3 | 2–3 | 2–2 |
| Girvan | 0–0 | 4–3 | 0–2 | 1–3 | | 1–2 | 2–2 | 4–0 | 0–1 | 3–2 | 1–2 | 2–1 | 4–1 | 1–4 | 2–4 | 4–3 |
| Glasgow United | 5–0 | 1–2 | 5–1 | 1–2 | 1–5 | | 3–2 | 4–1 | 3–2 | 1–3 | 4–0 | 2–3 | 3–1 | 3–2 | 4–1 | 6–0 |
| Greenock Juniors | 0–2 | 1–4 | 4–1 | 4–3 | 2–0 | 2–2 | | 0–6 | 1–1 | 3–4 | 2–4 | 3–1 | 2–0 | 1–1 | 1–1 | 3–3 |
| Irvine Victoria | 5–0 | 4–1 | 3–2 | 1–1 | 1–1 | 5–0 | 1–3 | | 1–0 | 2–3 | 1–3 | 1–2 | 0–2 | 1–1 | 2–2 | 3–1 |
| Kello Rovers | 1–1 | 3–3 | 0–2 | 3–1 | 2–2 | 2–1 | 1–3 | 1–4 | | 2–1 | 2–4 | 1–3 | 1–3 | 1–4 | 3–5 | 0–3 |
| Kilsyth Athletic | 1–2 | 3–0 | 2–0 | 1–2 | 2–1 | 4–2 | 4–5 | 1–1 | 2–2 | | 1–2 | 5–4 | 0–3 | 1–2 | 0–1 | 1–1 |
| Lanark United | 3–3 | 0–3 | 2–0 | 1–1 | 1–1 | 2–0 | 8–0 | 5–1 | 2–0 | 1–0 | | 1–2 | 2–0 | 2–2 | 5–0 | 3–1 |
| Lesmahagow | 1–4 | 1–0 | 1–1 | 1–3 | 2–1 | 3–2 | 3–2 | 2–3 | 6–1 | 2–0 | 0–1 | | 3–3 | 3–1 | 7–6 | 4–3 |
| Port Glasgow | 3–0 | 1–0 | 1–2 | 1–1 | 0–2 | 1–2 | 0–3 | 1–2 | 7–1 | 4–3 | 1–3 | 0–2 | | 0–3 | 1–2 | 5–3 |
| Threave Rovers | 2–2 | 0–1 | 1–2 | 1–2 | 1–1 | 1–0 | 2–1 | 2–4 | 5–2 | 1–0 | 3–2 | 1–1 | 1–2 | | 4–0 | 2–0 |
| Vale of Leven | 1–4 | 2–0 | 2–1 | 3–1 | 1–2 | 2–2 | 2–1 | 2–1 | 1–1 | 0–3 | 1–0 | 0–3 | 1–0 | 1–4 | | 5–1 |
| West Park United | 1–1 | 2–3 | 0–4 | 0–3 | 2–0 | 1–4 | 2–3 | 0–2 | 5–0 | 1–2 | 0–5 | 1–2 | 3–4 | 3–4 | 3–3 | |
* ↑ Match played at Kilwinning Sports Club, Kilwinning.
* ↑ Match played at Kilwinning Sports Club, Kilwinning.
* ↑ Match played at Kilwinning Sports Club, Kilwinning.
* ↑ Match played at Greenfield Park, Shettleston.
* ↑ Match played at Barrfields Stadium, Largs.
* ↑ Match played at North West Community Campus, Dumfries.
* ↑ Match played at North West Community Campus, Dumfries.

## Fourth Division

Glenvale won the league title with a weekend to spare on 4 May 2024, with a 5–0 home victory over St. Peter's, to open an unassailable lead on Thorn Athletic.
Harmony Row F.C. became Giffnock Soccer Centre prior to the start of the season.

### Stadia and locations

| Team | Location | Ground | Surface | Capacity | Seats | Floodlit |
| BSC Glasgow | Yoker, Glasgow | Peterson Park | Grass | 500 | 0 | No |
| Campbeltown Pupils | Campbeltown | Kintyre Park | Grass | 1,500 | 0 | No |
| Carluke Rovers | Carluke | John Cumming Stadium | Artificial | 1,500 | 0 | Yes |
| East Kilbride Thistle | East Kilbride | The Showpark | Grass | 1,500 | 0 | No |
| Easterhouse Academy | Easterhouse, Glasgow | Stepford Park | Artificial | 500 | 0 | Yes |
| Eglinton | Kilwinning | Kilwinning Community Sports Club | Artificial | 1,000 | 0 | Yes |
| Giffnock SC | Giffnock | Eastwood Park | Artificial | 500 | 0 | Yes |
| Glenvale | Paisley | Ferguslie Sports Centre | Artificial | 500 | 0 | Yes |
| Knightswood | Knightswood, Glasgow | Scotstoun Sports Campus | Artificial | 500 | 0 | Yes |
| Lugar Boswell Thistle | Lugar | Rosebank Park | Grass | 1,500 | 0 | No |
| Newmains United | Newmains | Victoria Park | Grass | 1,000 | 0 | No |
| Rossvale | Bishopbriggs | Huntershill | Artificial | 500 | 0 | Yes |
| Saltcoats Victoria | Saltcoats | Campbell Park | Grass | 1,500 | 0 | No |
| Royal Albert | Stonehouse | Tileworks Park | Grass | 1,000 | 0 | No |
| St. Peter's | Renfrew | New Western Park | Artificial | 1,000 | 0 | Yes |
| Thorn Athletic | Johnstone | Thorn Athletic Sports Academy | Grass | 500 | 0 | No |

#### Notes

* ↑ St. Peter's ground-shared with Renfrew at New Western Park.

### League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion or qualification |
| 1 | Glenvale (C, P) | 30 | 24 | 2 | 4 | 118 | 43 | +75 | 74 | Promotion to the Third Division |
| 2 | Thorn Athletic (P) | 30 | 22 | 4 | 4 | 112 | 31 | +81 | 70 | Promotion to the Third Division |
| 3 | Lugar Boswell Thistle (P) | 30 | 20 | 4 | 6 | 87 | 48 | +39 | 64 | Promotion to the Third Division |
| 4 | Rossvale | 30 | 19 | 3 | 8 | 82 | 51 | +31 | 60 | |
| 5 | Giffnock SC | 30 | 19 | 2 | 9 | 98 | 51 | +47 | 59 | |
| 6 | Eglinton | 30 | 13 | 4 | 13 | 60 | 64 | −4 | 43 | |
| 7 | East Kilbride Thistle | 30 | 11 | 8 | 11 | 91 | 79 | +12 | 41 | |
| 8 | BSC Glasgow | 30 | 12 | 5 | 13 | 70 | 82 | −12 | 41 | |
| 9 | St. Peter's | 30 | 11 | 5 | 14 | 62 | 60 | +2 | 38 | |
| 10 | Knightswood | 30 | 11 | 4 | 15 | 58 | 77 | −19 | 37 | |
| 11 | Easterhouse Academy | 30 | 11 | 1 | 18 | 61 | 83 | −22 | 34 | |
| 12 | Newmains United | 30 | 7 | 7 | 16 | 57 | 83 | −26 | 28 | |
| 13 | Carluke Rovers | 30 | 7 | 6 | 17 | 48 | 83 | −35 | 27 | |
| 14 | Royal Albert | 30 | 9 | 3 | 18 | 48 | 92 | −44 | 27 | |
| 15 | Campbeltown Pupils | 30 | 8 | 4 | 18 | 52 | 107 | −55 | 25 | |
| 16 | Saltcoats Victoria | 30 | 4 | 2 | 24 | 46 | 116 | −70 | 14 | |
* ↑ Royal Albert deducted 3 points for fielding an ineligible player.
* ↑ Campbeltown Pupils deducted 3 points for fielding an ineligible player.

### Results

| Home \ Away | BSC | CAM | CAR | EAS | EKT | EGL | GSC | GLE | KNI | LBT | NUC | ROS | ROA | SAL | STP | THO |
| BSC Glasgow | | 1–2 | 2–0 | 2–3 | 4–4 | 3–2 | 3–1 | 1–7 | 3–0 | 4–4 | 1–1 | 3–1 | 0–3 | 3–0 | 8–2 | 0–8 |
| Campbeltown Pupils | 3–3 | | 1–2 | 2–0 | 2–6 | 1–5 | 0–5 | 1–8 | 3–2 | 3–5 | 2–2 | 3–2 | 4–2 | 3–3 | 3–0 | 1–4 |
| Carluke Rovers | 2–5 | 5–3 | | 1–2 | 2–2 | 0–1 | 2–3 | 0–2 | 2–2 | 3–1 | 3–5 | 0–5 | 8–2 | 2–1 | 1–1 | 0–5 |
| Easterhouse Academy | 1–2 | 6–0 | 0–1 | | 2–4 | 1–3 | 3–2 | 3–8 | 0–3 | 1–4 | 5–1 | 4–0 | 7–0 | 3–2 | 1–7 | 0–8 |
| East Kilbride Thistle | 1–1 | 1–2 | 6–1 | 2–0 | | 2–2 | 0–3 | 2–6 | 3–3 | 1–4 | 3–1 | 5–3 | 1–2 | 6–1 | 1–2 | 0–7 |
| Eglinton | 6–0 | 4–0 | 3–3 | 4–2 | 2–3 | | 0–4 | 1–5 | 2–0 | 3–6 | 3–2 | 3–1 | 1–2 | 3–2 | 0–4 | 1–3 |
| Giffnock SC | 1–3 | 6–0 | 4–1 | 3–2 | 5–5 | 4–0 | | 2–1 | 3–0 | 2–0 | 5–1 | 1–3 | 10–0 | 4–2 | 4–1 | 2–4 |
| Glenvale | 4–2 | 4–1 | 3–1 | 3–2 | 6–1 | 4–0 | 4–3 | | 4–2 | 1–2 | 3–2 | 0–3 | 4–1 | 8–0 | 5–0 | 4–3 |
| Knightswood | 2–1 | 0–3 | 3–1 | 2–4 | 1–8 | 2–1 | 3–1 | 3–3 | | 3–4 | 1–1 | 1–3 | 5–4 | 4–3 | 2–4 | 0–2 |
| Lugar Boswell Thistle | 2–1 | 3–2 | 2–2 | 5–1 | 3–1 | 4–1 | 3–2 | 1–0 | 1–2 | | 4–0 | 1–1 | 3–1 | 8–0 | 0–3 | 0–2 |
| Newmains United | 1–4 | 2–1 | 5–1 | 7–3 | 5–5 | 3–3 | 4–6 | 0–6 | 0–2 | 0–3 | | 1–5 | 1–3 | 6–0 | 1–1 | 0–4 |
| Rossvale | 4–3 | 7–2 | 6–0 | 2–1 | 3–2 | 0–2 | 1–0 | 0–1 | 3–2 | 2–2 | 1–0 | | 3–1 | 3–0 | 6–2 | 1–5 |
| Royal Albert | 0–1 | 3–3 | 1–1 | 0–2 | 1–3 | 0–3 | 1–1 | 2–4 | 5–1 | 0–4 | 0–1 | 1–6 | | 3–2 | 3–2 | 2–0 |
| Saltcoats Victoria | 5–3 | 4–0 | 0–2 | 4–0 | 1–10 | 0–0 | 2–7 | 2–5 | 2–3 | 0–4 | 1–2 | 2–3 | 4–2 | | 0–4 | 2–6 |
| St. Peter's | 4–1 | 8–0 | 3–1 | 1–1 | 2–2 | 0–1 | 0–1 | 0–3 | 1–4 | 1–3 | 2–0 | 1–2 | 1–2 | 4–0 | | 1–1 |
| Thorn Athletic | 8–2 | 4–1 | 4–0 | 0–1 | 2–1 | 3–0 | 2–3 | 2–2 | 2–0 | 5–1 | 2–2 | 2–2 | 6–1 | 5–1 | 3–0 | |
* ↑ Match awarded to BSC Glasgow, as Saltcoats Victoria were unable to fulfil the fixture.
* ↑ Match awarded to Campbeltown Pupils, as St. Peter's were unable to fulfil the fixture.
* ↑ Match played at Petershill Park, Springburn.
* ↑ Match played at Barrfields, Largs, due to renovations at Ferguslie Sports Centre.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall, due to renovations at Ferguslie Sports Centre.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at McKenna Park, Shieldhall.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at Kilsyth Sports Field, Kilsyth.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at Holm Park, Clydebank.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match played at North Kelvinside Primary School 3G, North Kelvinside.
* ↑ Match awarded to Glenvale, as St. Peter's were unable to fulfil the fixture.
* ↑ Match played at New Tinto Park, Drumoyne.
* ↑ Match played at New Tinto Park, Drumoyne.