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