| First Round (24th Jauary, 1948) |
| Clachnacchudin 0-2 St Johnstone |
| Albion Rovers 0-2 Hibernian |
| Arbroath 9-1 Babcock & Wilcox |
| Ayr Utd 1-2 Morton |
| Berwick Rangers 2-4 Cowdenbeath |
| Dundee 2-4 Hearts |
| East Fife 2-0 Kilmarnock |
| Inverness Caledonian 1-6 Falkirk |
| Motherwell 2-2 Hamilton Academicals |
| Queen of the South 1-0 Stenh'semuir |
| St Mirren 8-0 Shawfields Amateurs |
| Stranraer 0-1 Rangers |
| First Round Replay (31st Jauary, 1948) |
| Hamilton Academicals 0-2 Motherwell |
|
| Second Round (7th February, 1948) 20 teams (including Celtic) were given First Round byes |
| Airdrie 2-1 Hearts |
| Alloa 0-1 Queen of the South |
| Celtic 3-0 Cowdenbeath |
| Clyde 2-1 Dunfermline |
| East Fife 5-1 St Johnstone |
| Hibernian 4-0 Arbroath |
| Montrose 2-0 Duns |
| Morton 3-2 Falkirk |
| Motherwell 1-0 Third Lanark |
| Nithsdale Wanderers 0-5 Aberdeen |
| Partick Thistle 4-3 Dundee Utd |
| Peterhead 1-2 Dumbarton |
| Queen's Park 8-2 Deveronvale |
| Rangers 4-0 Leith Athletic |
| St Mirren 2-0 East Stirling |
| Stirling Albion 2-4 Raith Rovers |
|
| Third Round (21st February, 1948) |
| Airdrie 3-0 Raith Rovers |
| Celtic 1-0 Motherwell |
| Dumbarton 0-1 East Fife |
| Hibernian 4-2 Aberdeen |
| Montrose 2-1 Queen of the South |
| Morton 3-0 Queen's Park |
| Rangers 3-0 Partick Thistle |
| St Mirren 2-1 Clyde |
|
| Quarter Finals (6th March, 1948) |
| Airdrie 0-3 Morton |
| Celtic 4-0 Montrose |
| Hibernian 3-1 St Mirren |
| Rangers 1-0 East Fife |
|
| Semi-finals (27th March, 1948) |
| Morton 1-0 Celtic |
| Rangers 1-0 Hibernian |
|
| Final (Hampden Park, 17th April, 1948) |
| Rangers 1-1 Morton |
| Replay (Hampden Park, 21st April, 1948) |
| Rangers 1-0 Morton |
|
| Scottish Cup Winners 1948: Rangers |