پس از انقراض سلسله افشاريه، شهر مدتي عملاً در دست قبيلهاي ترك به نام قاجار افتاد كه قلمروشان در كوههاي مازندران، در چند ده كيلومتري شمال شرقي اين شهر كوچك، قرار داشت. در اين زمان زنديه در ايران به حكومت رسيده بود و كريمخان زند عهدهدار حكومت ايران شد. وي تهران را از قبيله قاجار رقيب خود گرفت و بر آن شد تا پايتخت خود را به آنجا منتقل كند. او ضمن مرمت حصار شهر كه از حمله افغانها صدمه ديده بود و بر پا كردن برجهاي ديده باني در بيرون هريك از دروازههاي شهر، بناهايي چند در محوطه ارك سلطنتي بنا كرد.
كريمخان زند به علت درگيري با محمدحسن خان قاجار و نيز به خاطر دور كردن پايتخت از تركمن صحرا، پايتخت خود را به شيراز منتقل كرد و تهران را به غفورخان واگذار كرد. غفوريان هم پس از مرگ كريم خان به دليل آنكه به زنديه وفادار مانده بود. بر سر شهر تهران با آقامحمدخان قاجار برخورد شديدي پيدا كرد و در 27 شوال 1200 ه.ق. آقا محمدخان بر تهران مسلط شد و در روز 11 جمادی الاول 1200 ق. به تهران وارد شد که به این هنگام عملاً پایتخت، قصر سلطنت، دارالسلطنه و سپس دارالخلافه ایران شده بود.