ტფილისის ბრძოლა, საბჭოთა რუსეთსა და საქართველოს დემოკრატიული რესპუბლიკის შორის ომის გადამწყვეტი ბრძოლა 1921 წ. 16-25 თებერვალს. საბჭოთა ისტორიოგრაფიაში ცნობილია, როგორც „ტფილისის ოპერაცია“ (რუს. Тифлисская операция); საქართველოში ხშირად კოჯორ-ტაბახმელას ბრძოლების სახელით მოიხსენიებენ იმ ორის სიმაღლის მიხედვით, რომელიც ცენტრალურ როლს თამაშობდა ტფილისის დაცვაში.
საქართველოს შეიარაღებული ძალები გენერალ გიორგი კვინიტაძის მეთაურობით ერთი კვირის მანძილზე იცავდნენ ტფილისის მისადგომებს, მაგრამ იძულებული გახდნენ ქალაქი დაეტოვებინათ გეკერის საერთო სარდლობით მოქმედი მე-11 წითელი არმიის (შექმნა ტროცკიმ ლევ დავიდოვიჩ ბრონშტეინი 1918 წლის 23 თებერვალს) რიცხობრივი და ტექნიკური უპირატესობის გამო. ტფილისში საბჭოთა ხელისუფლება გამოცხადდა და მარტის მიწურულისთვის საქართველოს თითქმის მთელ ტერიტორიაზე გავრცელდა.
საბჭოთა რუსეთმა საბრძოლო მოქმედებები საქართველოს წინააღმდეგ ფაქტობრივად 1921 წ. 12 თებერვალს დაიწყო, როდესაც რუსეთის კომუნისტური პარტიის კავკასიის ბიუროს მითითებით ადგილობრივმა ბოლშევიკებმა ამბოხება მოაწყეს ლორეს ზონაში, რომელიც საბჭოთა სომხეთს ესაზღვრებოდა. სამხრეთ საქართველო იყო უმოკლესი გზა ტფილისისკენ, რომლის აღებას ბოლშევიკები ელვისებური დარტყმით ვარაუდობდნენ. გარდა ამისა, ე.წ. ლორეს ნეიტრალური ზონა სადავო ტერიტორია იყო სომხეთსა და საქართველოს შორის; მის სრულ კონტროლს საქართველო 1920 წ. დეკემბრიდან ახორციელებდა. ამბოხებული ბოლშევიკების დასახმარებლად საბჭოთა კომისარმა კავკასიაში სერგო ორჯონიკიძემ წითელი არმიის ნაწილები გაგზავნა, თუმცა მოსკოვიდან ინტერვენციის დაწყების ოფიციალური ნებართვა ჯერ არ იყო მოსული. გარკვეული ორჭოფობის შემდეგ ლენინმა წითელ არმიას საქართველოში შესვლისა და ტფილისის აღების მითითება მისცა.
საქართველოს მთავრობამ მობილიზაცია გამოაცხადა და შეიარაღებული ძალების მთავარსარდლად გენერალი გიორგი კვინიტაძე დანიშნა. რუსეთის მე-11 წითელ არმიასა და მისდამი დაქვემდებარებულ შენაერთებს კი კომდივი ანატოლი გეკერი მეთაურობდა. მე-11 არმიის ძირითადი ძალები თბილისს სამი მიმართულებით უტევდნენ:
- მარცხენა საბრძოლო დაჯგუფება (მე-20 და 32-ე მსროლელი დივიზიების ნაწილები, სომხური წითელი ცხენოსანი ბრიგადა, ბოლშევიკ მეამბოხეთა რაზმი) ლორეს ზონიდან მოქმედებდა;
- ცენტრალური დაჯგუფება (მე-18 და მე-20 მსროლელი დივიზიების ნაწილები, მე-12 ცხენოსანი დივიზია, 55-ე ჯავშნოსანი რაზმი) უფრო ჩრდილო-აღმოსავლეთით, 30 კმ-ის დაშორებით, მოძრაობდა მდ. ხრამზე წითელი ხიდის მიმართულებით;
- მარჯვენა დაჯგუფება (მე-9 მსროლელი დივიზია, ჯავშნოსანი მატარებლები და მე-2 სატანკო რაზმი) კიდევ უფრო აღმოსავლეთით, 35 კმ დაშორებით მოქმედებდა, მდ. ალგეთზე ფოილოს სარკინიგზო ხიდის მიმართულებით.
1921 წ. 16 თებერვალს, გამთენიისას, მე-11 არმიის ნაწილები საქართველოს ტერიტორიაზე შემოიჭრნენ. ბოლშევიკების ცენტრალურმა დაჯგუფებამ იერიშით აიღო „წითელი ხიდი“ და საქართველოს სახალხო გვარდიის სასაზღვრო ნაწილები გენერალ ახმეტელის მეთაურობით დიდი დანაკარგებით თბილისისკენ უკუაგდო. გენერალმა წულუკიძემ შეძლო წინასწარ დანაღმული ფოილოს ხიდის აფეთქება და ამით მოწინააღმდეგის ჯავშან-ტექნიკის შეკავება, თუმცა რუსმა ქვეითებმა მოახერხეს მდინარის მეორე ნაპირზე გამაგრება, მოიგერიეს ქართული ნაწილების კონტრშეტევა და პლაცდარმი შეინარჩუნეს. ამან საშუალება მისცა წითელი არმიის სარდლობას ხიდის გამალებული სარემონტო სამუშაოები დაეწყო. 16-17 თებერვალს რუსებმა სოფლები: შულავერი, ეკატერინფელდი, მარნეული, კეშალო, კოდი, ელიზაბეტალი, სადგურები: სალოღლი და ბეიუქ-ქიასიკი დაიკავეს და ტფილისს 40 კმ-ზე მიუახლოვდნენ.
გენერალმა კვინიტაძემ ქალაქის დასაცავად ფრონტის ხაზი სამ სექტორად დაყო:
- მდ. მტკვრის მარცხენა სანაპიროზე, ორხევის მიდამოებში სახალხო გვარდიის ნაწილები განლაგდნენ გენერალ ჯიჯიხიას მეთაურობით;
- მტკვრის მარჯვენა სანაპიროზე, სოფ. ტაბახმელამდე ე.წ. სოღანლუღის ფრონტი შეიქმნა გენერალ მაზნიაშვილის სარდლობით. მის განკარგულებაში 2500 ხიშტი, 5 საარტილერიო ბატარეა, 1 ჯავშნოსანი მატარებელი და 2 ჯავშანტრანსპორტიორი იყო;
- მონაკვეთს ტაბახმელადან კოჯორამდე გენერალი ა. ანდრონიკაშვილი იცავდა. აქვე განლაგდა ტფილისის სამხედრო სასწავლებლის რაზმი (160 იუნკერი და 350 კადეტი) პოლკოვნიკ ა. ჩხეიძის მეთაურობით.
18 თებერვლის საღამოს სოღანლუღში წითელი არმიის ნაწილები გამოჩნდნენ და მ. ველიკანოვის სარდლობით მოახერხეს ქართველების პოზიციებზე შეღწევა კოჯორისა და იაღლუჯის სიმაღლეებზე. ქართული ჯარი მთელი ღამის განმავლობაში იგერიებდა შეტევას; გამთენიისას კი ჯავშანტექნიკის დახმარებით კონტრშეტევა განახორციელა და მოწინააღმდეგე დიდი დანაკარგით უკუაგდო. რუსების უკანდახეულ ნაწილებს არტილერია და ავიაცია უტევდა. ამ ბრძოლაში ქართველებმა 1600 წითელარმიელი დაატყვევეს. ამ წარუმატებლობის მიუხედავად, 19 თებერვალს წითლებმა ახალი შეტევა წამოიწყეს, ამჯერად ტაბახმელას მიმართულებით, მაგრამ თბილისის სამხედრო სასწავლებლის რაზმის ძლიერ წინააღმდეგობას წააწყდნენ და უკან დაიხიეს. 19-20 თებერვლის განმავლობაში საარტილერიო დუელი და უმნიშვნელო შეტაკებები მიმდინარეობდა ორხევის სექტორზე, თუმცა წითლებმა აქაც ვერ მიაღწიეს წარმატებას. მათ მოქმედებას უჩვეულოდ ძლიერი თოვაც უშლიდა ხელს. 20-21 თებერვალს რუსებმა გადაჯგუფება განახორციელეს: კოჯორის მიდამოებიდან მე-12 ცხენოსანი დივიზია მარჯვენა ფლანგზე გადაისროლეს და გააძლიერეს ზაქათალიდან მოსული მე-18 ცხენოსანი დივიზიით, რითაც შეიქმნა დამრტყმელი კავალერიული შენაერთი. 21 თებერვალს წითელმა არმიამ სცადა ქალაქის დამცველთა მარცხენა ფლანგისთვის შემოევლო, რასაც ქართულმა ჯარმა კონტრშეტევით უპასუხა: გენერალ ჯიჯიხიას მეთაურობით შეიქმნა შემტევი დაჯგუფება გვარდიის 5 ბატალიონისა და კავალერიული ბრიგადის შემადგენლობით, რომელმაც სოფ. ლილოდან შეუტია წითლებს. ამავდროულად, გვარდიის ორმა ბატალიონმა ორხევიდან ფრონტალური დარტყმა განახორციელა. რუსებმა უკან დაიხიეს; ქართველებმა 10 კმ წინ წაიწიეს, მაგრამ 23 თებერვალს იძულებული გახდნენ საწყის პოზიციებს დაბრუნებოდნენ მარცხენა ფლანგზე მოწინააღმდეგის ცხენოსანი დივიზიის გამოჩენის გამო. ამასობაში, 20 თებერვალს, წითლების კავალერიულმა შენაერთებმა ფრონტს მარჯვნიდან მოუარეს და მანგლისი დაიკავეს, რითაც თბილისს ზურგიდან დაემუქრნენ. საქართველოს სარდლობა იძულებული გახდა ფრონტი სოფ. წყნეთამდე გაეჭიმა, თუმცა ძალები არასაკმარისი იყო. შეიქმნა დამატებითი, ლილოს საბრძოლო უბანი პოლკ. ნ. გედევანიშვილის მეთაურობით.
24 თებერვალს სიტუაცია კიდევ უფრო დამძიმდა. წითელმა არმიამ ფოილოს აღდგენილი ხიდის საშუალებით მიიღო ახალი შევსება მძიმე ტექნიკის სახით. ძლიერი საარტილერიო მომზადების შემდეგ რუსეთის ჯარებმა დაიწყეს თბილისსზე გადამწყვეტი შეტევა. კოჯორთან ქართველმა იუნკრებმა ხელჩართულ ბრძოლაში უკუაგდეს ბაქოდან ჩამოსული სამხედრო კურსანტების წითელი ბრიგადა, მაგრამ რუსებმა შეძლეს მაზნიაშვილის პოზიციების გარღვევა სოღანლუღის ფრონტზე და სტრატეგიულ ე.წ. ტრიგონომეტრიულ პუნქტს დაეუფლნენ, მტკვრის მარცხენა სანაპიროზე კი ტანკებისა და ჯავშნოსნების დახმარებით ორხევი აიღეს. საქართველოს სარდლობამ ბრძოლაში უკანასკნელი რეზერვი ჩართო და გააფთრებული ბრძოლების შემდეგ პოზიციები დაიბრუნა; თუმცა ძალების უკმარისობის გამო ფრონტი გაშიშვლდა; წითელი კავალერიის ორმხრივი მანევრის შედეგად შეიქმნა გარემოცვის საფრთხე. განსაკუთრებით მძიმე მდგომარეობა იყო ლილოს სექტორზე, სადაც ქართულმა ცხენოსანმა ნაწილებმა სოფ. ნორიოსთან კონტრშეტევით უშედეგოდ სცადეს გედევანიშვილის პოზიციებიდან მოწინააღმდეგის უკუდგება. რუსებმა მამკოდა, გლდანი და ავჭალა დაიკავეს. ქართველებმა უკანასკნელი ძალისხმევით - ჯავშნოსანისა და მოხალისეთა რაზმების გამოყენებით - შეძლეს ავჭალის ვაგზლის დაბრუნება. 25 თებერვლისათვის ქალაქის დამცველთა მდგომარეობა კრიტიკული იყო. შეიქმნა სრული გარემოცვის საშიშროება. ამ ვითარებაში საქართველოს სარდლობამ მიიღო თბილისის დატოვებისა და მცხეთისკენ უკანდახევის გადაწყვეტილება.
1921 წლის 9 მარტს ოთხშაბათს, მიხეილის საავადმყოფოდან (სადაც ჩამოასვენეს კოჯრის მიდამოებიდან) მოხდა, კოჯორში გმირულად დაღუპული 33 იუნკერის ნეშტის გადმოსვენება თბილისის სობოროს ტაძრის ეზოში. ცერემონიალში მონაწილეობდა მთელი ქალაქი.
წითელი არმია ტფილისში შევიდა. ქალაქში მარადიორობა, ძარცვა და რეპრესიები დაიწყო. მოგვიანებით ქალაქში საქართველოს რევკომი გადმოვიდა და საქართველოში საბჭოთა ხელისუფლება გამოაცხადა.