Schloss Karlberg steht in Solna am Karlbergs Kanal. Es grenzt an Stockholms nordwestlichen Teil von Kungsholmen, liegt südlich des Postterminals von Tomteboda und westlich des Stadtteils Vasastaden. Im Schloss befindet sich heute die Militärhochschule Karlberg und seinen Park nutzen die Bürger Stockholms und Solnas zum Joggen und für Spaziergänge.
In den 1620er Jahren wurde Gustav II. Adolfs Halbbruder, Reichsadmiral Carl Carlsson Gyllenhielm, Eigentümer dreier Dörfer im Solnaer Kirchspiel (socken). Daraus bildete er einen Freihof mit dem Namen Karlberg. 1634 wurde ein Steinhaus gebaut, das den Kern der heutigen Anlage bildete. Nach seinem Tod 1650 stand es leer, bis Magnus Gabriel de la Gardie es neunzehn Jahre später kaufte.
De la Gardie baute die Anlage zum Schloss aus und veränderte das Interieur stark in den bis in die Gegenwart erhaltenen prachtvollen Zustand. Als De la Gardie wegen wirtschaftlicher Schwierigkeiten gezwungen war, Karlberg zu verlassen, übernahm es Johan Gabriel Stenbock, jedoch ging das Schloss 1688 in königlichen Besitz über.
Die königliche Familie wohnte besonders zur Sommerzeit oft im Schloss Karlberg. Die Gemahlin Karls XI., Königin Ulrika Eleonora d. Ä., eröffnete ein Kinderheim mit zugehöriger Weberei und ihr Sohn Karl XII. wuchs zum großen Teil im Schloss auf. Nach dem großen Brand 1697 von Schloss Tre Kronor zog der gesamte Hof nach Karlberg. Das Schloss war von da an königliches Lustschloss bis 1792, wo Gustav III. dort die Königliche Kriegsakademie gründete. Fortan wurden im Schloss Karlberg Offiziere ausgebildet und das Schloss ist damit der Welt älteste Kadettenschule.
1935 wurde das Gebäude als Byggnadsminne (Baudenkmal) unter staatlichen Schutz gestellt.