Disclosed are a ferroporphyrin solid dispersion, preparation method therefor and a pharmaceutical composition comprising the solid dispersion, wherein the weight ratio of ferroporphyrin to the carrier material in the dispersion is 1:1-1:10. The solid dispersion of the present invention masks the undesirable taste of ferroporphyrin, ameliorates irritation thereof to the digestive tract, and at the same time increases the solubility thereof and improves the bioavailability thereof.