آقامحمدخان قاجار
جنگ با لطفعلی‌خان زند > محاصره شیراز

در شیراز وضعیت حاج ابراهیم متزلزل می‌نمود. سران ایلات انتظار داشتند که پس از برکناری لطفعلی‌خان یکی دیگر از اعضای سلسله زند به حکومت برداشته شود و چون از این مسئله ناامید شده بودند، ممکن بود که با وقوع درگیری به لطفعلی‌خان بپیوندند و راه را برای ورود او به شهر هموار سازند. کلانتر که از این مسئله آگاه بود، در پی خلع سلاح نیروهای عشایر برآمد. او نیرنگی به کار بست و ضمن دعوت از نیروهای ایلات برای دریافت مواجب، آن‌ها را خلع سلاح و از شهر بیرون کرد. این نیروها که تعدادشان را ۳۰۰۰ نفر نوشته‌اند، بیرون از شهر به لطفعلی‌خان بپیوستند اما از آنجایی که غیرمسلح بودند، آنچنان که باید نتوانستند تأثیرگذار باشند. همچنین، این مسئله امید لطفعلی‌خان برای ورود به شهر با یاری نیروهای داخل شیراز را ناامید ساخت.
وضعیت لطفعلی‌خان زند در بیرون شهر پایدارتر می‌شد. او تقریباً بر همه حومه شیراز مسلط بود. خان زند تلاش کرد تا با حاج ابراهیم وارد مذاکره شود و به او پیشنهاد داد که شهر را تسلیم کرده و خود با خانواده‌اش به عثمانی یا هند پناهنده شود اما کلانتر این پیشنهاد را رد کرد. در عوض، او به آباده پیام فرستاد و درخواست کرد که قاجاریان سپاهی برای یاری ارسال کنند. آقامحمدخان قاجار نیز در پاسخ به فتحعلی دستور داد سپاهی از اصفهان به یاری مدافعان شیراز بفرستد. او نیز مصطفی‌خان دولو را راهی کرد و آن‌ها در باغ‌های اطراف حافظیه اردو زدند. در همین زمان، حاج ابراهیم تلاش کرد تا لطفعلی‌خان زند را به قتل برساند. او چند نفر از اهالی شیراز را به آن داشت که نامه‌ای به لطفعلی بنویسند. در این نامه آمده بود آن‌ها در شبی معین یکی از دروازه‌های شهر را بازخواهند کرد تا قوای زند وارد شیراز شوند. چون شب موعود رسید، خان زند به همراه ۳۰۰ تن از یارانش به سمت دروازه به راه افتاد اما به سرعت متوجه شد که دامی برای او پهن شده است. همزمان با تحرکات سپاه زند، نیروهای قاجاری نیز بیکار ننشستند. مصطفی‌خان دولو که از حرکت لطفعلی‌خان به سمت دروازه شهر آگاه شده بود، با سپاهی به سمت او شتافت تا مانع ورودش به شیراز شود. او ابتدا با سلطانعلی‌خان روبرو شد و او را شکست داد اما پس از اینکه لطفعلی‌خان خود را به میدان نبرد رساند، سپاه قاجاری شکست خورد و مصطفی‌خان نیز به داخل شیراز پناهنده شد.
پس از اینکه آقامحمدخان قاجار خبردار شد که سپاه اعزامی شکست خورده و حاج ابراهیم در وضعیت خطرناکی است، ارتشی به تعداد ۷٬۰۰۰ اسب سوار به فرماندهی محمدخان و رضاقلی‌خان به سمت شیراز روانه کرد. لطفعلی‌خان اجازه داد که سپاه قجری بدون درگیری به شهر برسد. احتمالاً پیش‌بینی می‌کرد پس از اینکه این سپاه وارد شهر شده و با نیروهای حاج ابراهیم یکی شود، آن زمان این امکان برای زندیان فراهم خواهد شد که با آن‌ها در زمین باز روبرو درگیر شوند. این پیش‌بینی خان زند درست از آب درآمد و دو سپاه در غرب شیراز به یکدیگر تاختند. شمار سپاهیان قجری دو برابر نیروهای زند بود اما پیروزی سهم لطفعلی‌خان گردید. پس از نبرد لطفعلی‌خان دستور داد رضاقلی‌خان که دستگیر شده بود را از دو چشم نابینا کنند. در این زمان، وضعیت در شیراز رو به ناپایداری می‌گذاشت. شهر در مضیقه غذایی بود و کلانتر بیم آن را داشت که مخالفانش و طرفداران لطفعلی‌خان زند بر او بشورند. حاج ابراهیم نامه‌ای دیگر به خان قاجار نوشت و او را از اوضاع آگاه ساخت: «چنانچه سمند جهان‌نورد همت، به طریق سرعت مراحل صوب فارس را نپیماید، اساسی که چیده شده، به دست سعی و اجتهاد اهل عناد برچیده خواهد شد.» آقامحمدخان وقت را از دست نداد و با سپاه خود از تهران به سوی فارس به راه افتاد. بهار سال ۱۷۹۲ م. بود.
دو سپاه تفاوت چشمگیری داشتند. شمار سربازان لطفعلی‌خان از ۳٬۰۰۰ تن متجاوز نبود؛ درحالی که نیروهای آقامحمدخان را چهل هزار نفر نوشته‌اند. تفاوت به اندازه‌ای بود که در آن زمان به مبالغه می‌گفتند هر سرباز زند باید با ۱۰۰ سرباز قاجاری روبرو شود. پس از اینکه خبر آمد سپاه آقامحمدخان به حوالی ابرج رسیده است، لطفعلی‌خان سرداران سپاه خود را برای مشورت گردآورد. نظر آنان این بود که نبرد روبرو با سپاه پرشمار قجری «از لباس تدبیر عاری است» و زندیان باید به آقامحمدخان و سپاهش شبیخون بزنند. لطفعلی‌خان ابتدا آن را «مغایر راه و رسم مردان جلادت مآب» دانست اما با اصرار سپاهیان، تن به خواسته آنان داد. شبانه، در منطقه‌ای به نام شهرک در راه اصفهان و شیراز، سپاه لطفعلی‌خان زند به سپاه قجری شبیخون زد و جنگ سختی درگرفت. آقامحمدخان ۸۰۰ تفنگچی را مأمور محافظت از تنگه‌ای میان مرودشت و ابرج کرده بود. این گروه با نخستین یورش لطفعلی‌خان در هم شکسته شد و فرمانده آن‌ها نیز کشته شد. سپس لطفعلی سپاه خود را به سه قسمت تقسیم کرد، جناحین چپ و راست را به عموهای خود، عبدالله‌خان و محمدخان، سپرد و خود به قلب سپاه قجر زد. پیروزی با سپاه زند بود و نظم اردوی قاجار در هم شکسته شده بود. نوشته‌اند که ۴٬۰۰۰ سرباز قاجاری پا به فرار گذاشته بودند. در این زمان در میدان نبرد این شایعه پخش شد که آقامحمدخان قاجار فرار کرده یا حتی کشته شده است. میرزا فتح‌الله از سرداران سپاه زند قسم می‌خورد که جسد خان قاجار را به چشم دیده است. با پخش این خبر در اردوی لطفعلی‌خان، خان زند قانع شد که نیازی به ادامه جنگ نیست؛ زیرا با طلوع خورشید و تأیید خبر در میان یاران آقامحمدخان، سربازان قجری دست از جنگیدن برخواهند داشت. باری با طلوع آفتاب، خان قاجار که نوشته‌اند شب را تحت مراقبت یاران وفادارش در زیر شکم مادیانی پنهان شده بود، با سپاهیان خود به سمت اردوی لطفعلی‌خان زند شتافت. دو سپاه و دو فرمانده به نیم فرسنگی هم رسیدند اما جنگی درنگرفت. لطفعلی‌خان که شرایط را برای روبرو شدن با قاجاریان فراهم نمی‌دید، به سمت نیریز عقب‌نشینی کرد تا از راه کرمان خود را به طبس برساند.