Sir Robert Keith held the hereditary position of Marischal of Scotland to which he succeeded in 1293/1294. He is thought to have been the son of William de Keith (who does not appear to have held the title of Marischal) and Barbara Seton, the daughter of Seher de Seton. He is first described as Marischal in a charter of John Baliol in 1294. He was appointed as warden of Selkirk Forest in 1299, a position he held until his capture by the English in 1300. After being held at Carlisle, Nottingham and Bristol, he submitted to Edward I in 1303 and served with the Prince of Wales (later Edward II). In 1304 he was appointed Sheriff of Aberdeen and in 1305 he was one of ten Scots chosen to represent Scotland at the English parliament to agree the ordinances of the Settlement of Scotland. As part of the settlement, in the same year he was selected as joint Justice North of the Forth and one of the four deputy wardens of Scotland.
Sir Robert Keith remained in the English king’s service throughout 1306 and 1307. In 1308, however, he changed allegiance to Robert the Bruce, joining the Scottish king at Christmas. In 1309, he took his place in the Scottish Parliament in St Andrews when the ‘Declaration of the Clergy’ was produced, setting out Bruce’s claim to the throne. He was one of Robert the Bruce’s commanders at the Battle of Bannockburn in 1314, being charged with reconnaissance with James Douglas and where he led the cavalry. As a reward for his service, Sir Robert was granted lands forfeited by the Comyns in the north and north-east of Scotland in 1320. He was also a signatory to the Declaration of Arbroath in the same year, asserting Scotland’s independence. Robert was certainly part of the expedition to the papal court at Avignon and to the French court to negotiate the treaty of Corbeil in 1325-26. Some sources state that he died at the Battle of Dupplin Moor in 1332, while others say he died around 1343/44 or even 1346.
He married Barbara Douglas and had two sons John (d 1324) and William.