W wieku 19 lat wyszła za mąż. Jej ślub odbył się 2 października 1886 roku. Jej mężem został arcyksiążę Otto. „Der Schöne” (piękny), jak nazywano męża Marii Józefy, był młodszym bratem arcyksięcia Ferdynanda, który zginął w Sarejewie. Był synem arcyksięcia Karola Ludwika i arcyksiężnej Marii Annunziaty. Otto zdradzał żonę. Z związku z Marie Schleinzer miał dwóch synów.
Maria Józefa była osobą bardzo bogobojną. Gdy rozpoczęła się I wojna światowa opiekowała się rannymi żołnierzami w wiedeńskim Augarten. W 1919 opuściła Austrię ze swym synem cesarzem Karolem oraz jego żoną cesarzową Zytą. Odtąd Maria Józefa pozostała na wygnaniu. Zmarła w zamku Wildenwart, Górna Bawaria. Pochowano ją w Wiedniu, w krypcie cesarskiej obok jej męża.