كان سبب قتله أنه لما علم بأسر عمرو بن الليث الصفار خرج من طبرستان نحو خراسان ظناً منه أن إسماعيل الساماني لا يتجاوز عمله، ولا يقصد خراسان، وأنه لا دافع له عنها، فلما سار إلى جرجان أرسل إليه إسماعيل، وقد استولى على خراسان، يقول له: الزم عملك، ولا تقصد خراسان؛ وترك جرجان له، فأبى ذلك محمد، فندب إليه إسماعيل بن أحمد محمد بن هارون، ومحمد هذا كان يخلف رافع بن هرثمة أيام ولايته خراسان، فجمع محمد جمعاً كثيراً من فارس وراجل، وسار نحو محمد بن زيد، فالتقوا على باب جرجان، فاقتتلوا قتالاً شديدا فانهزم محمد بن هارون أولاً ثم رجع وقد تفرق أصحاب محمد بن زيد في الطلب، فلما رأوه قد رجع إليهم ولوا هاربين، وقتل منهم بشر كثير، وأصابت ابن زيد ضربات، وأسر ابنه زيد، وغنم ابن هارون عسكره وما فيه، ثم مات محمد بن زيد بعد أيام من جراحاته التي أصابته، فدفن على باب جرجان، وحمل ابنه زيد بن محمد إلى إسماعيل بن أحمد، فأكرمه ووسع في الإنزال عليه، وأنزله بخارى، وسار محمد بن هارون إلى طبرستان.
(تنبيه): التاريخ الميلادي تقريبي نظراً لاشتماله على أكثر من عام هجري أحياناً