Małgorzata urodziła się około 1046/1047 roku w Resce koło Nádasd na Węgrzech, w rodzinie księcia Edwarda i jako wnuczka króla Edmunda II. Była siostrą Edgara Athelinga, pretendenta do tronu Anglii. W 1057 roku wraz z rodziną powróciła z wygnania z Węgier do Anglii, skąd uciekła do Szkocji po normandzkim podboju Anglii w 1066 roku. Około 1070 roku poślubiła króla Szkocji Malcolma III, zostając królową. Małgorzata słynęła z głębokiej pobożności i działalności dobroczynnej, m.in. ufundowała przeprawę promową przez zatokę Firth of Forth, by ułatwić pielgrzymom dostęp do opactwa w Dunfermline. Z małżeństwa z Malcolmem III doczekała się ośmiorga dzieci, w tym trzech przyszłych królów Szkocji oraz jednej królowej Anglii. Zmarła 16 listopada 1093 roku w Edynburgu, niedługo po otrzymaniu wiadomości o śmierci męża w bitwie. Kanonizowana została w 1250 roku z polecenia papieża Innocentego IV, a jej relikwie pierwotnie spoczęły w opactwie Dunfermline, jednak zaginęły po reformacji szkockiej.