Stadhouder
In 1671 werd duidelijk dat Lodewijk XIV van Frankrijk en Karel II van Engeland een gezamenlijke aanval op de Verenigde Provinciën planden, en de roep om Willems benoeming tot kapitein-generaal werd steeds luider. Hij werd in februari 1672 benoemd, zij het aanvankelijk met zeer beperkte bevoegdheden. In maart en april verklaarden Karel en Lodewijk elkaar de oorlog, en in juni staken Franse troepen de Rijn over en overrompelden drie provincies in evenveel weken. De Nederlandse marine kon de Engelsen in toom houden, maar het leger was verwaarloosd, slecht getraind en slecht uitgerust. Als laatste redmiddel werden de polders, of laaggelegen gebieden, onder water gezet, en Willem, met zijn weinige onervaren troepen, werd achtergelaten om de “waterlinie” te verdedigen.
Er brak paniek uit in het land, en er werd woedend geëist dat de prins tot stadhouder zou worden verheven. De weinige tegenstemmers werden overruled, en op 8 juli (nieuwe stijl) werd hij door de Staten-Generaal tot stadhouder uitgeroepen, later bekrachtigd door de provinciale landgoederen van de bezette provincies. Een van zijn eerste daden, verricht met goedkeuring van de Staten, was het weigeren van de ruïneuze vredesvoorwaarden die door de twee koningen waren aangeboden. De burgerlijke onlusten waren echter nog niet voorbij. Op 20 augustus werden Johan de Witt en zijn broer, die ten onrechte van verraad werden verdacht, in Den Haag door een woedende menigte vermoord. Willem was op geen enkele manier bij de misdaad betrokken en was woedend toen hij ervan hoorde, maar vanwege het aantal moordenaars en misschien vanwege de algemene revolutionaire situatie slaagde hij er niet in hen voor het gerecht te brengen.
In een paar weken kwam het land tot rust en hield het een jaar lang vrijwel alleen stand. In de herfst van 1672 riep Willem de hulp in van de Heilige Roomse keizer Leopold I en de keurvorst van Brandenburg, en in 1673 sloot Spanje zich bij de alliantie aan, maar hun hulp was niet onmiddellijk effectief. Willem bouwde intussen zijn leger weer op en heroverde in september 1673 de belangrijke vesting Naarden. Daarna trok hij snel het gebied van Keulen binnen, voegde zijn troepen bij die van de keizer en veroverde op 12 november Bonn. De Fransen, die met een omsingeling werden bedreigd, evacueerden haastig de Verenigde Provinciën. Karel II en Lodewijks minder belangrijke bondgenoten zagen zich begin 1674 genoodzaakt vrede te sluiten. Lodewijks Nederlandse avontuur was mislukt en had half Europa tegen zich gekeerd, maar hij had nog veel plaatsen in Duitsland en de Spaanse Nederlanden in handen, zodat de oorlog voortduurde en zich uitbreidde naar verder weg gelegen delen van het continent. Willem hield zich de volgende vier jaar vooral bezig met het bevel over de Nederlandse legers in Vlaanderen, hoewel binnenlandse aangelegenheden en herhaalde pogingen om een aanvaardbare vredesformule te vinden veel van zijn tijd in beslag namen. Uiteindelijk kwam de vrede tot stand door een reeks verdragen in 1678 en 1679.