Małżeństwa W 1065 żoną Malcolma została Ingibiorg Finnsdottir, córka earla Orkney. Ingibiorg zmarła pięć lat po ślubie, w 1070. Miał z nią trójkę dzieci: Duncana II (1060-12 listopada 1094), króla Szkocji, Malcolma (ok. 1094), księcia Szkocji, Donalda (zm. 1085), księcia Szkocji.

Po śmierci Ingibiorg wziął za żonę Margaret (później ogłoszoną świętą), córkę Edwarda Wygnańca - króla Anglii. Margaret zaczęła szerzyć chrześcijaństwo w Szkocji - mimo że ten kraj dawno był już schrystianizowany, to pogańskie ceremonie i obrzędy były tam wciąż żywe. Malcolm i Margaret mieli ośmioro dzieci: Edwarda (1071 - 1093), księcia Szkocji, Edmunda (1072-1097), króla Szkocji, Ethelreda (zm. 1120), księcia Szkocji, earla Fife, Edgara (1074-1107), króla Szkocji, Aleksandra I (1078-1124), króla Szkocji, Dawida I (1080-1153), króla Szkocji, Matyldę (także: Edytę) (ok. 1080-1118), żonę króla angielskiego Henryka I Beauclerca, Marię (zm. 1116), żonę Eustachego III, hrabinę Boulogne.

Konflikt z Anglią W 1066 Malcolm popadł w konflikt z Anglią.