چون در زمان فتحعلي شاه فتح هرات نيمه كاره رها شده بود و محمدشاه نيز مي‏خواست در فتوحات نظامي شهرتي به دست آورد، لذا چون توان رويارويى با روس‏ها در بازپس‏گيري ولايات از دست رفته‏ي قفقاز را در خود نمي‏ديد، قصد تصرف هرات را در سر مي‏پروراند. از اين رو در ربيع الثاني 1253 ق به هرات لشكركشي كرد و آن جا را به محاصره‏ي خود درآورد. اين محاصره با حمايت روس‏ها صورت گرفت و انگليس كه مستعمره‏ي بزرگ خود يعني هند را در خطر مي‏ديد، دست به تهديد محمدشاه از طريق نظامي زد. تهديدات پياپي انگلستان و نيز طولاني شدن زمان محاصره‏ي هرات، توان ادامه‏ي اين كار را از اردوي محمد شاه گرفت. سرانجام محمدشاه باسرشكستگي و بدون هيچ نتيجه‏اي در 18 جمادي الثاني 1254 ق به تهران بازگشت و اين عمل موجب سلب حيثيّت ايران گرديد.