John was the son of Alexander Stewart of Bunkle (Berwickshire) head of a family descended from Alexander, the fourth hereditary steward of Scotland (d.1283). In 1328 John secured a lucrative marriage to Margaret Abernethy daughter and heiress of Sir Alexander Abernethy. At some point shortly before June 1329 he was made earl of Angus, a title forfeited by the pro-English Umfraville family. On 24 November 1331 he was knighted by David II as part of that king’s coronation ceremony. He died shortly afterwards on 9 December 1331. He had one son, Thomas, who succeeded to the earldom.