James’s Palace Wilhelm poślubił Marię Stuart (30 kwietnia 1662 – 28 grudnia 1694), najstarszą córkę Jakuba Stuarta, 1. księcia Yorku i lady Anny Hyde, córki 1. hrabiego Clarendon. Książę Yorku był następcą bezdzietnego Karola II, był jednak katolikiem, a małżeństwo jego córki z Wilhelmem miało poprawić jego wizerunek w oczach protestantów.

Małżeństwo Wilhelma i Marii nie należało do szczęśliwych. Maria trzykrotnie była w ciąży, ale wszystkie kończyły się poronieniami. Wilhelm miał wiele kochanek wśród dam dworu swojej żony, a . Z biegiem czasu jednak stosunki między małżonkami uległy zacieśnieniu.

W 1678 r. Wilhelm zawarł pokój z królem Francji Ludwikiem XIV. W 1679 r. przyjmował w Hadze swojego teścia, który musiał opuścić Anglię w wyniku antykatolickiej histerii, jaka rozpętała się tam pod wpływem pogłosek o „papieskim spisku”, który miał na celu obalenie i zamordowanie Karola II. W 1683 r. przyjął również księcia Monmouth, który był kandydatem angielskich protestantów do sukcesji po Karolu II i znalazł się na wygnaniu po nieudanej próbie zamachu na Karola i jego brata. Z niepokojem obserwował agresywną politykę Ludwika XIV w Niemczech. Wielce go zaniepokoiło przyłączenie Alzacji do Francji i francuskie apetyty na Luksemburg. W 1686 r.