Tron został przywrócony Marii, a jej małżeństwo anulowano.

26 stycznia 1835, w wieku 15 lat, poślubiła Karola Augusta – księcia Leuchtenbergu, syna Eugeniusza de Beauharnais i wnuka Józefiny (pierwszej żony Napoleona Bonaparte). Jej małżonek zmarł już dwa miesiące po ślubie, 28 marca 1835.

1 stycznia 1836 Maria wyszła za mąż po raz drugi za księcia Ferdynanda Saxe-Coburg-Gotha, który współrządził z nią jako małżonek królowej (tytuł króla został mu nadany, zgodnie z portugalskim zwyczajem, dopiero po narodzinach ich pierwszego potomka, czyli następcy tronu). Maria i Ferdynand mieli jedenaścioro dzieci: Piotra V (1837–1861), kolejnego króla Portugalii Ludwika I (1838–1889), kolejnego króla Portugalii infantkę Marię (ur. i zm. 1840) infanta Jana (1842–1861) infantkę Marię Annę (1843–1884), żonę Jerzego I, króla Saksonii infantkę Antonię Marię (1845–1913), żonę księcia Leopolda Hohenzollern-Singmaringen infanta Ferdynanda (1846–1861) infanta Augusta (1847–1889), księcia Coimbry infanta Leopolda (ur. i zm. 1849) infantkę Marię da Glória (ur. i zm. 1851) infanta Eugeniusza (ur. i zm. 1853).