thumb|250px|Akershus fæstning blev påbegyndt af Håkon Magnusson. Dele af de gamle strukturer er fortsat synlige.
Oslos historie kan deles ind i forskellige faser. Byen var i mange år i skyggen af handelsbyen Bergen og ærkebispesædet i Nidaros, selv efter at kong Håkon 5. Magnusson gjorde den til hovedstad i 1314. Byen blev ikke landets største før ved den kraftige ekspansionen i 1800-tallet.
Oprindelsen Fund, herunder helleristninger, tyder på at der har været bosætninger inderst i Oslofjorden allerede i stenalderen, med livsgrundlag både i jagt og fiskeri. Fundene spreder sig over hele Oslo-området inklusive dagens nabokommuner. Dette tyder på at det kan have været et attraktivt sted. Også senere fund tyder på bosætning i området længe før det vi nu regner som byens oprindelse, blandt andet blev det på Teisen fundet en række værdisager i 1844 som kan have blevet gravet ned under urolige tider i 900-tallet.
Snorre Sturlason hævder i sine sagaberetninger at byen blev grundlagt af Harald Hårderåde omkring 1050, men udgravninger i Gamlebyen har påvist ældre kristne grave og i et system som tilsiger at det var i en bystruktur. På denne baggrund fejrede man byen 1000 års jubilæum i 2000.
Den første konge som slog sig til her i nogen særlig grad var Sigurd Jorsalfar, som også døde her 26. marts 1130 og blev begravet i Sankt Hallvardskirken, som han selv havde sørget for at blev opført, opkaldt efter byens skytshelgen St. Hallvard. Efter kong Sigurds død og frem til borgerkrigene sluttede i 1240, blev byen stadig hærget af brand og plyndringer. Blandt disse var kampene mellem kong Inge Krokrygg og Håkon Herdebrei i 1161 og da kong Sverre Sigurdsson slog baglerne her i 1197. Særlig hårdt var første slag på isen udenfor byen vinteren 1199 og senere inde i byen. Efter diverse uroligheder mod blandt andre grupperingerne Slittungene og Ribbungene, klarede til slut kong Håkon Håkonsson at etablere fred efter det afgørende opgør med hertug Skule i 1240.
Middelalderbyen Det økonomiske grundlag for Oslo var byens rolle som havn og markedsplads. Det førte til at kirker blev anlagt tidligt, og at kongerne tidvis havde tilhold i byen og senere udvidede og befæstede Kongsgården som lokalt magtcentrum. Da den norske kirke blev organiseret, blev Oslo det naturlige sæde for biskoppen i Østlandet. Det førte til opførelsen af bispekirken, den romanske Sankt Hallvardskirken. I tilknytning til katedralen anlagde og befæstede biskopperne en residens som kunne måle sig med Kongsgården i størrelse og militær betydning. Her i dette kirkelige centrum blev også dominikanernes kloster Olavsklosteret anlagt. I tillæg til disse monumentale murbygninger blev der rejst yderligere fem kirker og to klostre i eller ved byen, og i tillæg et kloster på Hovedøya.
Efter Magnus Lagabøters død i 1280 blev styret delt mellem de to sønner Eirik og Håkon. Eirik var formelt konge over hele landet, men broren Håkon blev hertug og fik i realiteten selvstændig styring over sit hertugdømme. Da Eirik døde uden sønner i 1299, blev Håkon konge for hele landet. Han fortsatte at have fast tilhold i Oslo. I 1314 blev byen landets hovedstad da kongen bestemte at rigets segl skulle opbevares af kansleren (landets administrative leder). Kanslerembedet blev fast knyttet til embedet som provst ved det kongelige kapel, Mariakirken, lige ved siden af kongsgården ved Alnaelvens udløb. Både kongens egen byggevirksomhed på Kongsgården og Mariakirken, og det faktum at byen nu blev et vigtigere magtcentrum, bidrog til byens vækst. I denne periode var byen fortsat præget af tæt tømmerhusbebyggelse i én etage. Senere kom enkelte huse med to eller tre etager, og nogle få private stenhuse. Men kongens og biskoppens monumentale anlæg, og de mange stenkirker, var dominerende indslag i bybilledet.
Udover højmiddelalderen øgede byens befolkning fra omkring 2.000 til 3.500. Den var alligevel langt mindre end det vigtige handelscenter i Bergen, som var mindst to eller tre gange så stor. Men Håkon Magnusson var i sin samtid en betydelig europæisk fyrste, internationalt orienteret og med betydelig politisk kraft, noget som også gjorde at byen som kongesæde blev stadig vigtigere. Hans stærke religiøse forankring fik ikke kun udtryk i udvidelsen af Mariakirken, men også i det at han opmuntrede og støttede fransiskanernes klosteretablering i byen, der hvor Gamlebyen kirke og Oslo Hospital ligger i dag.
Både den sorte død og andre pestangreb, by brandene og den mindskende politiske betydning Oslo som hovedstad fik efter at landet gik ind i unioner med Sverige og Danmark, gjorde at byen udover mod reformationen var i forfald. Folketallet sank, og til slut var Hallvardskatedralen den eneste kirke i brug.
Fæstningsbyen thumb|Oslo Ladegård blev anlagt på ruinerne af den gamle bispeborg efter at byen blev flyttet i 1624. I første del af dansketiden blev byens betydning stadig mindre, og særligt efter reformationen i 1537, som knækkede den norske kirkes selvstændighed og dens stilling som økonomisk magtfaktor. Politisk blev byen degraderet fra hovedstad til provinsby efter at kongemagt og centraladministration flyttede til København. Men byen beholdt længe nogen hovedstadsfunktioner. Den var sæde for kanslerembedet og mødested for rigsråd og kongehyldninger, så længe disse institutioner bestod. Den fik rigets møntværksted ved Akershus, og var fortsat vigtig som lokalt militært og kirkelig centrum. Lensherren på Akershus indehavde landets vigtigste embede og var delvis kongens statholder. Fæstningen erstattet kirkens institutioner som byens økonomiske tyngdepunkt og største arbejdsplads.
Det bidrog til at holde folketallet nede at byen med jævne mellemrum blev ramt af nye pestangreb, bybrande og militære angreb. Byen er anslået at være brændt ned 14 gange. I 1567 blev Oslo invaderet af svenske tropper under Den Nordiske Syvårskrig. Da blev byen jævnet med jorden, dels af svenskerne, dels af byens egen befolkning, for at hindre at svenskerne fik et tilholdssted under belejringen af Akershus fæstning. Byens befolkning byggede den hver gang op igen på sine gamle tomter, sidste gang efter en brand i 1611. Men efter storbranden i 1624 gik den driftige konge Christian 4. hårdt til værks og forbød borgerne at genrejse huse på brandtomterne. Bygrunden blev udlagt til jordbrugsarealer (Oslo Ladegård) for at forsyne Akershus fæstning med mad og dyrefoder.
Byen blev flyttet til modsatte side af Bjørvika på plantegningen til fæstningen, som skulle beskytte den og indgå i planen om at skabe en moderne befæstet by omgivet af volde med bastioner. Byplanen fulgte renæssancens idealer om geometrisk orden, med lige og brede gader (24 alen eller 15 meter) i et retvinklet system med store kvartaler. De største kvartaler med store tomter for rige købmænd blev stukket ud yderst mod havnen, langs den nuværende Dronningens gate. De mindre kvartaler øverst mod vest blev udstykket i mindre tomter forbeholdt håndværkere og andre jævne borgere. Ved et af de højest liggende gadekryds blev torvet anlagt, og her blev byens nye Hellig Trefoldigheds kirke og rådhus opført. Der hvor hovedgaden Kongens gate krydsede byvolden, blev den vigtigste af de tre byporte, Stadsporten, opført.
Kongen bestemte allernådigst at byen skulle kaldes Christiania efter ham selv. For at forhindre fremtidige brande blev der i princippet indført murtvang, men i praksis blev murhuse bare påbudt for adel og formuende borgere. Mindre bemidlede indbyggere fik lov til at bygge i udmurt bindingsværk. Begge byggemåder var imidlertid kostbare og fremmede for norsk byggeskik. Det gik derfor langsomt med genrejsningen; mange trodsede murtvangen og byggede ulovlige tømmerhuse. Først efter en ny storbrand i 1708 blev murtvangen konsekvent gennemført. Bindingsværk blev den mest udbredte byggemåde.
Udenfor den egentlige by ("Kvartalerne") voksede der snart forstæder frem befolket af fattige som ikke havde borgerskab og derfor ikke lovligt kunne drive egen erhverv, men som på forskellige måder var økonomisk afhængige af byen. Forstæderne, blandt andre Vaterland i øst, Grensen og Sagene i nord, og Pipervika i vest, lå på byens territorium (Bymarken), men hørte i kirkelig henseende til Akerbygda, og var ikke omfattet af murtvangen og en del andre bymæssige bestemmelser.
Voldene omkring byen blev opgivet efter en brand i 1686, og byen voksede nok så planløst udover forbi de gamle volde. Efter branden blev også Hellig Trefoldigheds kirke revet efter ønske fra de militære, som hellere ville udvide fæstningen på byens bekostning. Den nye Vår Frelsers kirke blev opført udenfor voldene og stod færdig i 1699. Sidste militære angreb mod byen kom i 1716, da Karl 12. besatte selve byen, men ikke lykkedes i at indtage Akershus fæstning. Bebyggelsen fik betydelig skade af fæstningens kanonild mod de svenske okkupanter. Først i 1794 blev byen formelt udvidet ved at de nærmeste forstæder udenfor voldene blev indlemmet.
Flytningen medførte en vis vækst og fremgang for byen, men den bevarede fortsat præget af småby. Erhvervsgrundlaget var handel, trælasteksport og byens rolle som garnisonsby. Da Christiania var færdig bebygget omkring 1650, voksede indbyggertallet bare langsomt i de næste hundrede år. Byggeaktiviteten var derfor beskeden i samme periode, og behøvede nye byggetomter blev dækket indenfor byvoldene ved udfyldning på strandgrunden mod Bjørvika. Her blev senere tre nye rækker med kvartaler anlagt.
Mod slutningen af 1700-tallet fik byen et kraftig økonomisk opsving takket være øgende skibsfart og trælasteksport, og dette gav sig udslag i en vis vækst i folketallet. Men ved folketællingen i 1801 havde Christiania fortsat kun 8.931 indbyggere indenfor selve byen og 7.884 i forstæderne, altså til sammen 16.815 indbyggere bosat i bymæssig bebyggelse og direkte eller indirekte økonomisk afhængige af byen.
Hovedstad i vækst 1814-1945 thumb|Universitetsbygningerne ud mod Karl Johans gate thumb|Det kgl. slott mod Karl Johans gate thumb|Stortinget, set fra Eidsvolls plass thumb|Befolkningsudviklingen siden 1800 thumb|Grænsesten mellem Oslo og Aker kommune, placeret mellem Vålerenga og Etterstad I 1814 blev byen igen hovedstad i den selvstændige stat Norge. Opbygningen af en ny statsadministration skabte mange nye arbejdspladser og et øgende behov for tjenester. Hovedstadsfunktionen blev derfor en økonomisk vækstfaktor og gav støtte til en folkevækst som kunne kompensere for de dårlige konjunkturer i erhvervslivet efter Napoleonskrigene, og for den unge stats trange kår.
Byen trængte bygninger for alle de nye statsinstitutioner. Allerede i 1811 var Det Kongelige Frederiks Universitet blevet oprettet, men både dette og det nye Stortinget måtte i mange år leve en omflakkende tilværelse i byen. Først i 1852 stod de nye universitetsbygninger endelig klar ved Karl Johans gate efter tegninger af Christian H. Grosch. Festsalen i Domus Academica blev brugt til Stortingssal indtil Stortinget fik sin egen bygning. Universitetsbygningerne er regnet som hovedværket til arkitekt Grosch. De var inspireret af den berømte preussiske arkitekt Karl Friedrich Schinkels klassicistiske bygninger i Berlin. Grosch besøgte selv Schinkel i Berlin og fik sine tegninger gennemgået og korrigeret af ham.