Skolevæsenet overtog i april 1846 en grund med bygning i Prinsensgade 304, skænket af bådebygger Isaack Bensen. Bygningen blev ombygget til skole. I 1859 skiftede gaden navn, og bygningen lå nu i Prinsessegade 28. Fri- og betalingsskolen, som var dannet i 1845 af Frelserens sogns indbyrdes undervisningsklasser (fri- og betalingsklasser), flyttede ind. Betalingsskolen flyttede ind i 1846 i bygningen mod Prinsensgade, friskolen i sommeren 1847 i en nybygning mod Amagergade 25, men allerede 1. oktober 1847 flyttede betalingsskolen ind i nybygningen og friskolen ind i den gamle bygning i Prinsensgade.
Den 1. august 1864 blev en nybygning i Prinsessegade 44 (i 1913 nummerskift til 54) indviet. Den blev taget i brug 15. august af betalingsskolen, hvorefter begge bygninger i Prinsessegade 28 blev benyttet af friskolen. Fra 1. august 1875 blev fri- og betalingsskolerne adskilt administrativt fra hinanden og fik hver sin inspektør. I 1877 flyttede friskolen til en nybygning i Bådsmandsstræde 14-16, og 1. januar 1878 blev begge bygninger i Prinsessegade 28 afhændet til en husgerningsskole.
Den 1. april 1915 blev betalingsskolen kommuneskole for drenge. Der blev overført drenge fra Bådsmandsstrædes skole, der til gengæld modtog piger fra Prinsessegades skole. I 1924 blev der igen overført drenge fra skolen i Bådsmandsstræde, som nu blev afstået til Sundby gymnasium, der flyttede ind og herefter hed Christianshavns gymnasium.
I 1938 blev Prinsessegades skole forenet med Dronningensgades skole under samme inspektør med fællesnavnet Christianshavns skole. I 1949 blev bygningen i Dronningensgade afhændet til Kofoeds skole og i stedet blev bygningen Prinsessegade 45, et tidligere marinehospital, erhvervet i 1950. Bygningen blev taget i brug den 28. auguet 1950. Skolen havde en filial i Prinsessegade 54.
Skolens navne:
1846-82: Frelserens sogns betalingsskole
1883-89: Christianshavns betalingsskole
1890-1915: Prinsessegades betalingsskole
1915-37: Prinsessegades (kommune)skole
1938 ff: Christianshavns skole.