Geertruidenberg omstreeks 1547 naar de kaart van Jacob van Deventer. In de knik van de stadsmuur is buiten de muur het kasteel weergegeven.
De hertog van Brabant nam geen genoegen met het feit dat de Hollandse graaf aanspraken maakte op Geertruidenberg en in 1304 trok hertog Jan II van Brabant met zijn leger de stad binnen. Hij slaagde erin Geertruidenberg een jaar te bezetten. De nieuwe Hollandse graaf, Willem III ‘de Goede’, liet dit niet op zich zitten en stelde orde op zaken. In 1305 kwam hij naar Geertruidenberg om zich daar te laten inhuldigen. Hij riep vervolgens alle edelen en vertegenwoordigers van de steden in zijn graafschap op naar Den Haag te komen, inclusief de schepenen en mannen van Geertruidenberg. Graaf Willem III gaf Geertruidenberg extra allure door Willem van Duvenvoorde als schout aan te stellen en hem de opdracht te geven daar de stadsmuren af te maken en een kasteel te bouwen. Hetgeen Willem van Duvenvoorde inderdaad in twee jaar tijd volbracht. De muren rond de stad en het kasteel werden gebouwd van lokaal vervaardigde baksteen. Baksteen was voor de Nederlanders in die tijd een nieuw bouwmateriaal. Hoewel de Romeinen het gebruik ervan kenden, was de techniek na hun vertrek verloren gegaan. In de dertiende eeuw vond men in Friesland baksteen opnieuw uit en daarna verspreidde deze bouwwijze zich over de rest van het huidige Nederland.
De stadsmuur van Geertruidenberg had vier poorten: de Dordrechtse poort aan de waterkant in het noorden (bij de huidige Dortsestraat), de Veenpoort in het westen (in de huidige Venestraat), de Bredase poort in het zuiden (bij de huidige Koestraat) en de Brandpoort in het oosten (bij de huidige Brandestraat). De burgers van de stad, de poorters, voelden zich veilig binnen de muren en ook de buitenpoorters konden in geval van nood hun toevlucht in de stad zoeken.
Het kasteel stond buiten de muren en bood onderdak aan de kasteelheer en zijn gevolg. In de voorburcht waren kamers gereserveerd voor de graaf. Het kasteel had voornamelijk een militaire en bestuurlijke functie al zullen er ongetwijfeld ook feesten en banketten hebben plaatsgevonden.
In die eerste periode was Willem van Duvenvoorde castelein (kasteelheer), maar hij was slechts beperkt hier aanwezig, omdat hij als kamerling en schatbewaarder van Willem III zich veel in diens nabijheid bevond. Het kasteel van Geertruidenberg is in de vijftiende eeuw beschadigd geraakt tijdens de Hoekse en Kabeljauwse twisten en wat er nog van over was, werd in de zestiende eeuw afgebroken. Bij archeologisch onderzoek in 2002 zijn fundamenten van een deel van het kasteel teruggevonden. Het stond op de plaats waar nu het Wilhelminaplein en de Stationsweg zijn.