Set in 1948, the film opens in an officers' mess of an unnamed Highland Regiment, soon after his daughter Morag arrives on post. Acting Lieutenant Colonel Jock Sinclair (Alec Guinness) announces this will be his last day as commanding officer. The hard-drinking Sinclair, who is still gazetted as a major despite being in command since the battalion's last full colonel was killed in action during the North African campaign of the Second World War, is to be replaced by the teetotal lieutenant colonel, Basil Barrow (John Mills). Although Sinclair led the battalion through the remainder of the war, winning a DSO and MM during El Alamein, Monte Cassino and "from Dover to Berlin", Brigade HQ considers Barrow a more appropriate peacetime commanding officer. A drunken Sinclair reveals his frustrations at his lowly rank versus Barrow: "I've acted Colonel, I should be Colonel, and by God... I will be Colonel!"