| Ladies' Night (1986) as Monks |
| Theban Plays: Oedipus the King (1986) as Chorus |
| Blood Hunt (1986) as The Rev. Davidson |
| Young Sherlock Holmes (1985) as Rupert T. Waxflatter |
| Yellowbeard (1983) as Admiral |
| Red Monarch (1983) as Molotov |
| The Barretts of Wimpole Street (1982) as Dr. Chambers |
| Doctor Who: Time-Flight (1982) as Professor Hayter |
| The Union (1981) as Harry Pollitt |
| Dear Brutus (1981) as Coade |
| The Mirror Crack'd (1980) as Inspector Gates ("Murder at Midnight") |
| Six Characters in Search of an Author (1977) as The Father |
| When I'm Rich (1977) as (voice) |
| Operation: Daybreak (1975) as General |
| Russian Roulette (1975) as Captain Ferguson |
| Is It Something I Said? (1974) as Wallace |
| Bequest to the Nation (1973) as George Matcham |
| I Can't See My Little Willie (1970) as Arthur Palmer |
| Hamlet (1970) as The First Player |
| Cromwell (1970) as Sir Edward Hyde |
| The Others (1970) as Robert Williams |
| The Lion in Winter (1968) as William Marshall |
| The Lost Continent (1968) as Dr. Webster |
| The Night of the Generals (1967) as Otto |
| Second Childhood (1966) as Charles Dennistoun |
| Week-end à Zuydcoote (1964) as Un soldat brûlé |
| The Big Breaker (1964) as Elvet |
| The High Bright Sun (1964) as Colonel Park |
| The Life of Galileo (1964) as Narrator / Sagredo / Cardinal Bellarmin / Pamphleteer / Peasant |
| Nothing But the Best (1964) as Ferris |
| The Great Escape (1963) as Cavendish 'The Surveyor' |
| To Have and to Hold (1963) as George Matthews |
| The Password Is Courage (1962) as Cole |
| The Winter's Tale (1962) as Camilio |
| H.M.S. Defiant (1962) as Senior Midshipman Kilpatrick |
| Where the Difference Begins (1961) as Edgar |
| Victim (1961) as Phip |
| Who Pays the Piper? (1960) |
| Never Let Go (1960) as Regan |
| The Caine Mutiny Court-Martial (1958) |
| The Silent Enemy (1958) as Able Seaman Fraser |
| The Battle of the River Plate (1956) as Chief Officer, Tairoa, Prisoner on Admiral Graf Spee |
| Eyewitness (1956) as Barney |
| The Dam Busters (1955) as Flying / Off. F. M. Spafford, D.F.C., D.F.M. |
| The Night My Number Came Up (1955) as The Pilot |
| Aunt Clara (1954) as Charles Willis |
| Malta Story (1953) as Giuseppe Gonzar |
| Derby Day (1952) as Jim Molloy |
| The Lady with a Lamp (1951) as George Winch |
| Brighton Rock (1948) as Cubitt |
| It Always Rains on Sunday (1947) as Ted Edwards |
| Rope (1947) |
| Sons of the Sea (1939) as Rudd |
| Goodbye, Mr. Chips (1939) as John Forrester (uncredited) |
| Luck of the Navy (1938) |
| Lancashire Luck (1938) as Joe Lovejoy |
| Vice Versa (1937) as Mr. Paul Bultitude |