Henry was a fifth-generation male-line descendant of Murdoch Stewart, 2nd Duke of Albany through his son Walter. He was thus a fourth cousin, twice removed of James IV of Scotland, first husband of Margaret Tudor.
Henry and Margaret were married on 3 March, 1528. She was divorced from her second husband Archibald Douglas, 6th Earl of Angus. She was already mother to James V of Scotland and Margaret Douglas from her previous marriages. This third marriage would produce another daughter, Dorothea Stewart, who is believed to have died young.
Henry was later married to Janet Stewart, daughter of John Stewart, 2nd Earl of Atholl and Lady Janet Campbell. Her maternal grandparents were Archibald Campbell, 2nd Earl of Argyll and Elizabeth Stewart. Elizabeth was a daughter of John Stewart, 1st Earl of Lennox and Margaret Montgomerie. Margaret was a daughter of Alexander Montgomerie, 1st Lord Montgomerie and Margaret Boyd.
Henry and Janet were parents to four children: