Malcolm's first attempt to gain the kingship came in 1054, when he invaded Scotland with an English army and fought a battle on 27 July. It was not a decisive battle for either side; higher Scottish losses were reported, but Earl Siward's son was killed, and Macbeth remained king. Macbeth does, however, appear to have been seriously weakened by the battle. In 1057, Malcolm made his second attempt on the throne. He was defeated by Macbeth on 15 August 1057, but Macbeth was mortally wounded, and died the next day. Macbeth was succeeded by Lulach son of Gillacomgain. Lulach proved to be less stern opposition, and Malcolm defeated and killed him on 17 March 1058, and took the kingship. Malcolm soon turned on his English allies, and invaded Northumbria in 1061.
Another invasion in 1070 was not well received by William the Conqueror, who invaded Scotland in 1072, and forced Malcolm to give up his son Duncan as a hostage. Malcolm successfully dealt with internal opposition in 1077, when he defeated an attempt by Lulach's son Maelsnetchai to seize the kingship. A raid on England in 1079 was defeated, but a successful raid in 1091 set off the chain of events which lead to Malcolm's death. William Rufus refused to respond to overtures from Malcolm in 1093, and Malcolm invaded England for the last time. During the siege of Alnwick Castle in Northumbria, Malcolm was ambushed and killed along with his son Edward. He was succeeded by his brother Donald Ban.
Three children with Ingeborg; at least 8 children with Margaret.