The invention provides a fertilizer for tomatoes and a preparation method thereof, and relates to the technical field of fertilizers. The fertilizer for tomatoes comprises the following raw materials in parts by weight: decayed fruits, poultry manure, corn cobs, peanut shells, peat, coal gangue, vinasse, vermiculite powder, flavescent sophora roots, peanut oil residues, cushaw stems, Chinese medical stones, rice bran, perlite, diammonium phosphate, potassium chloride, bacterial strain powder, bentonite, pea powder, zeolite powder, attapulgite, humus, corn straw, and rapeseed cakes; the preparation method comprises the following steps: (1) weighing of raw materials, (2) crushing, (3) fermentation, (4) mixing, (5) granulation and drying. The fertilizer for tomatoes solves the problems that tomatoes with fertilizer applied in the prior art have weak disease resistance, low yield and bad quality, and usage of fertilizers deteriorates soil and harm health of human bodies with high cost.