| Name | Portrait | Party | Term start | Term end | Prime Minister |
|---|
| Walter Elliott MP for Glasgow Kelvingrove | | Unionist Party | 26 July 1926 | 7 June 1929 | |
| Thomas Johnston MP for Dundee | | Labour Party | 7 June 1929 | 25 March 1931 | |
| Joseph Westwood MP for Stirling and Falkirk | | 25 March 1931 | August 1931 | |
| Noel Skelton MP for Combined Scottish Universities | | Unionist Party | 3 September 1931 | 22 November 1935 (Died in office) | |
| John Colville MP for Midlothian and Peebles Northern | | 28 November 1935 | 29 October 1936 | |
| Henry Scrymgeour-Wedderburn MP for West Renfrewshire | | 29 October 1936 | 6 September 1939 | |
| Captain Sir John McEwen MP for Berwick and Haddington | | 6 September 1939 | 17 May 1940 | |
| Joseph Westwood MP for Stirling and Falkirk | | Labour Party | 17 May 1940 | 23 May 1945 | |
| Captain Henry Scrymgeour-Wedderburn MP for West Renfrewshire | | Unionist Party | 8 February 1941 | 4 March 1942 | |
| Allan Chapman MP for Rutherglen | | 4 March 1942 | 26 July 1945 | |
| Thomas Galbraith MP for Glasgow Pollok | | 26 May 1945 | |
| George Buchanan MP for Glasgow Gorbals | | Labour Party | 4 August 1945 | 7 October 1947 | |
| Tom Fraser MP for Hamilton | | 26 October 1951 | |
| John Robertson MP for Berwick | | 7 October 1947 | |
| Margaret Herbison MP for North Lanarkshire | | 2 March 1950 | |
| Thomas Galbraith MP for Glasgow Pollok | | Unionist Party | 2 November 1951 | 5 April 1955 | |
| Sir William McNair Snadden MP for Kinross and Western Perthshire | | 3 June 1955 | |
| Sir James Henderson Stewart MP for East Fife | | Liberal National | 4 February 1952 | 9 January 1957 | Harold Macmillan |
| Jack Nixon Browne MP for Glasgow Craigton | | Scottish Conservative Party | 7 April 1955 | 9 January 1957 |
| Niall Macpherson MP for Dumfriesshire | | Liberal National | 13 June 1955 | 9 January 1957 |
| Jack Nixon Browne MP for Glasgow Craigton | | Conservative Party | 18 January 1957 | 22 October 1959 |
| Major Lord John Hope MP for Edinburgh Pentlands | | Unionist Party |
| Niall Macpherson MP for Dumfriesshire | | Liberal National | 19 January 1957 | 28 October 1960 |
Thomas Galbraith 1st Baron Strathclyde | | Unionist Party | 22 October 1959 | 8 November 1962 |
| Gilmour Leburn MP for Kinross and West Perthshire | | Conservative Party | 15 August 1963 |
| Lieutenant-Colonel Richard Brooman-White MP for Rutherglen | | 28 October 1960 | 12 December 1963 |
| The Lady Tweedsmuir MP for Aberdeen South | | Unionist Party | 3 December 1962 | 16 October 1964 |
| Anthony Stodart MP for Edinburgh West | | Conservative Party | 19 August 1963 | Sir Alec Douglas-Home |
| Gordon Campbell MP for Moray and Nairn | | 12 December 1963 |
| Dickson Mabon MP for Greenock | | Labour and Co-operative Party | 20 October 1964 | 7 January 1967 | Harold Wilson |
William Hughes Baron Hughes | | Labour Party | 21 October 1964 | 13 October 1969 |
| Bruce Millan MP for Glasgow Craigton | | 6 April 1966 | 19 June 1970 |
| Norman Buchan MP for West Renfrewshire | | 7 January 1967 |
| Alick Buchanan-Smith MP for North Angus and Mearns | | Conservative Party | 24 June 1970 | 4 March 1974 | Edward Heath |
| George Younger MP for Ayr | | 8 January 1974 |
| Sir Teddy Taylor MP for Glasgow Cathcart | | 28 July 1971 |
| Hector Monro MP for Dumfries | | 28 July 1971 | 4 March 1974 |
| Sir Teddy Taylor MP for Glasgow Cathcart | | 8 January 1974 |
| Robert Hughes MP for Aberdeen North | | Labour Party | 11 March 1974 | 22 July 1975 | Harold Wilson |
| Hugh Brown MP for Glasgow Provan | | 28 June 1974 | 4 May 1979 |
| Harry Ewing MP for Stirling, Falkirk and Grangemouth | | 18 October 1974 |
| Frank McElhone MP for Glasgow Queen's Park | | 12 September 1975 |
| James Callaghan |
| Alex Fletcher MP for Edinburgh North | | Conservative Party | 7 May 1979 | 14 June 1983 | Margaret Thatcher |
| Russell Fairgrieve MP for Aberdeenshire West | | 15 September 1981 |
| Sir Malcolm Rifkind MP for Edinburgh Pentlands | | 6 April 1982 |
| Allan Stewart MP for East Renfrewshire (until 1983) MP for Eastwood (1983–1997) | | 15 September 1981 | 10 September 1986 |
| John MacKay MP for Argyll (until 1983) MP for Argyll and Bute (1983–1987) | | 6 April 1982 | 14 June 1987 |
| Michael Ancram MP for Edinburgh South | | 13 June 1983 | 14 June 1987 |
| Ian Lang MP for Galloway and Upper Nithsdale | | 10 September 1986 | 13 June 1987 |
| James Douglas-Hamilton MP for Edinburgh West | | 13 June 1987 | 6 July 1995 |
| Michael Forsyth MP for Stirling | | 7 September 1990 |
Thomas Galbraith 2nd Baron Strathclyde | | 7 September 1990 | 14 April 1992 |
| Allan Stewart MP for Eastwood | | 28 November 1990 | 8 February 1995 | John Major |
| Hector Monro MP for Dumfries | | 14 April 1992 | 6 July 1995 |
| George Kynoch MP for Kincardine and Deeside | | 8 February 1995 | 2 May 1997 |
James Lindsay-Bethune 16th Earl of Lindsay | | 6 July 1995 | 2 May 1997 |
| Raymond Robertson MP for Aberdeen South | |
| Sam Galbraith MP for Strathkelvin and Bearsden | | Labour Party | 6 May 1997 | 29 July 1999 | Tony Blair |
John Sewel Baron Sewel | |
| Malcolm Chisholm MP for Edinburgh North and Leith | | 10 December 1997 |
| Calum MacDonald MP for Western Isles | | 11 December 1997 | 29 July 1999 |
Gus Macdonald Baron Macdonald of Tradeston | | 3 August 1998 |
| Vacant | 29 July 1999 | 29 May 2002 |
| Anne McGuire MP for Stirling | | Labour Party | 29 May 2002 | 11 May 2005 |
| David Cairns MP for Inverclyde | | 11 May 2005 | 28 June 2007 |
| Ann McKechin MP for Glasgow North | | 16 September 2008 | 11 May 2010 | Gordon Brown |
| David Mundell MP for Dumfriesshire, Clydesdale and Tweeddale | | Conservative Party | 14 May 2010 | 11 May 2015 | David Cameron |
Andrew Dunlop Baron Dunlop | | 14 May 2015 | 10 June 2017 |
Ian Duncan Baron Duncan of Springbank | | 15 June 2017 | 27 July 2019 | Theresa May |
| Robin Walker MP for Worcester | | 27 July 2019 | 16 December 2019 | Boris Johnson |
| Colin Clark MP for Gordon | |
| Douglas Ross MP for Moray | | 16 December 2019 | 26 May 2020 |
| David Duguid MP for Banff and Buchan | | 2 June 2020 | 16 September 2021 |
| Iain Stewart MP for Milton Keynes South | | 8 September 2022 |
| David Duguid MP for Banff and Buchan | | 20 September 2022 | 27 October 2022 | Liz Truss |
Malcolm Offord Baron Offord of Garvel [1] [2] [3] | | 4 October 2021 | 9 February 2024 | Liz Truss |
| Rishi Sunak |
| John Lamont MP for Berwickshire, Roxburgh and Selkirk | | 27 October 2022 | 5 July 2024 |
Donald Cameron Baron Cameron of Lochiel | | 9 February 2024 | 5 July 2024 |
Kirsty McNeill MP for Midlothian | | Labour Party | 9 July 2024 | Incumbent | Sir Keir Starmer |