18 lipca 1658 roku we Frankfurcie kolegium elektorów Świętego Cesarstwa Rzymskiego w składzie: on sam, jako król Czech, arcybiskup Moguncji Johann Philipp von Schönborn (1647–1673), arcybiskup Kolonii Maksymilian Henryk Wittelsbach, arcybiskup Trewiru Karl II Kaspar von der Leyen-Hohengeroldseck, książę Bawarii Ferdynand Maria Bawarski, książę Saksonii Jan Jerzy II Wettyn, margrabia Brandenburgii Fryderyk Wilhelm I Hohenzollern, hrabia-palatyn reński Karol Ludwik Wittelsbach, wybrało go na króla niemieckiego i cesarza rzymskiego.
5 grudnia 1666 roku poślubił Małgorzatę Teresę Habsburg, córkę króla Hiszpanii Filipa IV i jego drugiej żony Marianny Habsburg – starszej siostry Leopolda. Para miała czworo dzieci: Ferdynand Wacław (28 IX 1667 – 13 I 1668) Maria Antonina (18 I 1669 – 24 XII 1692) – żona elektora Bawarii Maksymiliana II Emanuela Wittelsbacha Jan Leopold (20 II 1670) Maria Anna (9 II 1672 – 23 II 1672) Małgorzata Teresa zmarła w połogu, w wieku 22 lat w 1673 roku. W tym samym roku 15 października cesarz ożenił się z Klaudią Felicytą Habsburg, córką Ferynanda Karola Habsburga księcia Tyrolu i Anny Medycejskiej.