
De Willemspoort, in de volksmond Haarlemmerpoort geheten, is in feite de vijfde Haarlemmerpoort op rij die de stad aan de westzijde had beschermd. Bij elke stadsuitbreiding schoof de stadspoort een stukje op naar het westen, richting Haarlem. In 1837 was de voorgangster van de huidige poort, de in 1618 naar ontwerp van Hendrick de Keyser voltooide Haarlemmerpoort, wegens bouwvalligheid afgebroken. Drie jaar later verrees, vlakbij de plek van de vorige, de huidige poort. Het was de laatste stadspoort die in Amsterdam gebouwd werd. Het ontwerp wordt beurtelings toegeschreven aan Cornelis Alewijn (1788-1839) en aan Bastiaan de Greef (1818-1899), zoon van de in 1834 overleden stadsarchitect, Jan de Greef. De poort werd, getuige een inscriptie aan de binnenzijde van de pport, op 27 november 1840 in gebruik genomen ter gelegenheid van de inhuldiging van koning Willem II. Sindsdien heette de poort Willemspoort.
In de negentiende eeuw was de oude stadsomwalling overbodig geworden en werd ze beetje bij beetje ontmanteld. Ook de voormalige stadspoorten werden gesloopt. In hun plaats kwamen doorgaans kleine wachthuisjes bij bruggen over de Singelgracht. De wachthuisjes dienden als kantoor waar de stedelijke accijns op onder andere boter, vis, vlees, wijn, bouwmaterialen, steenkool en turf werden betaald. In plaats van de afgebroken Haarlemmerpoort kwam echter niet een wachthuisje, maar wederom een stadspoort. De reden voor weer een poortgebouw was dat het, behalve als accijnskantoor, ook een ceremoniële functie moest vervullen. De nieuwe poort stond aldus in de lange traditie van triomfale ingangspoorten die ter ere van vorstelijke gasten werden opgericht
De meningen over het nieuwe bouwwerk waren verdeeld. Een enkeling had positieve bewoordingen over voor de poort. De meeste reacties, waarin vooral vergelijkingen werden gemaakt met de afgebroken stadspoort van De Keyser, waren echter negatief. Een anonieme auteur schreef in 1844:
‘Als gij met den spoorwegen te Amsterdam komt, ontwaart uw oog een lomp gebouw, dat door een toeval daar schijnt nedergeworpen te zijn,- dat is de Willemspoort. Vroeger stond daar een meesterstuk van vroegere bouwkunst, de Haarlemmerpoort, eene poort rijk aan geschiedkundige herinneringen, eerwaardig om derzelver oudheid en schoone bouworde’.
De Willemspoort bestaat uit twee blokvormige vleugels ter weerszijden van een zuilendoorgang. Aan de zijkanten zijn ze voorzien van een halfronde uitbouw. De vleugels hebben vlakke, gepleisterde muren en naar binnen draaiende ‘Franse’ ramen.

Het ceremoniële karakter van het poortgebouw wordt onderstreept door de overeenkomsten in detaillering met Romeinse triomfbogen. De zuilen en pilasters zijn van de verfijnde Corinthische orde, terwijl bij echte verdedigingspoorten de stoere Dorische orde gangbaar was. Ook het siermotief in het fries boven de zuilengang vertoont overeenkomsten met reliëfs op de Romeinse triomfbogen.

Toen in 1866 de stedelijke accijnzen werden afgeschaft bleef de poort (gedeeltelijk) als politiepost in gebruik, vanaf 1877 tevens als brandweerpost. In de middendoorgang werd een brandspuit en ander materieel opgesteld. In 1889 besloot de gemeenteraad tot sloop van de Willemspoort, ten behoeve van een nieuw gebouw voor politie en brandweer. Dit besluit werd nog eens genomen in 1896, maar tot uitvoering van het besluit kwam het maar niet. Uiteindelijk werd in 1900 definitief voor behoud gekozen. Tot 1961 deed het linkerdeel van de poort dienst als politieposthuis; in 1967 kwam in het gedeelte rechts een afdeling van Publieke Werken. Kort daarna werd het voortbestaan van de poort opnieuw bedreigd door de herschepping van de Haarlemmer Houttuinen in een verkeersweg met een aansluiting dwars door de poort.
Door de verkeerscirculatie te wijzigen, kon aan de poort echter een woonbestemming worden toegekend. In 1983-1985 is de poort gerestaureerd en inwendig voor bewoning geschikt gemaakt.