De vorm en de grootte van de Oosterschelde is lang aan verandering onderhevig geweest. Na het Weichselien stroomde de Schelde aanvankelijk langs de Steilrand van Bergen op Zoom naar het noorden via het huidige Tholen en Sint Philipsland door het huidige Overflakkee naar het Maas-Rijndal. Vanaf 9.000 v. Chr. begon de zeespiegel aanmerkelijk te stijgen hetgeen leidde tot het ontstaan van getijdengeulen. Van 5.500-4.300 v.Chr. ontstond aldus de voorloper van de huidige Oosterschelde. Uiteindelijk kwam deze geul in aanraking met de Scheldestroom, waardoor de laatste zich verlegde naar wat de Oosterschelde zou worden. Oorspronkelijk was dit een veenrivier. Ongeveer 3.800 v.Chr. ontstond er een haf aan de kust. Ongeveer 200 v. Chr. werd dit haf weer op een aantal plaatsen doorbroken en ontstond de voorloper van de huidige Westerschelde, een het land binnendringende getijdengeul. Ook nadat de Schelde contact met de Westerschelde had gemaakt duurde het nog vele eeuwen voordat deze geschikt was voor scheepvaartverkeer naar Antwerpen. Pas tegen het einde van de 15e eeuw werd Antwerpen via de Westerschelde bereikt. Dit werd nu ook de hoofdafvoer van de Schelde. De verbindingsgeul tussen de Westerschelde en de Oosterschelde verzandde toen geleidelijk en op het einde van de 17e eeuw was het soms al mogelijk om de verbinding tussen Noord-Brabant en Zuid-Beveland te voet te overbruggen. Pas in 1867 werd deze verbinding afgedamd door de Kreekrakdam.
Tot in de middeleeuwen was de Oosterschelde een vrij kleine rivierarm. In de loop der eeuwen won de Oosterschelde echter steeds meer terrein op het land, waardoor het uitgroeide tot een flinke zeearm. Door inpolderingen en het aanleggen van dijken heeft de Oosterschelde de laatste eeuwen de huidige omvang gekregen.