A method for measuring nutrients in soil is disclosed. The method includes a sampling step, namely a step of sampling the soil, with the sampling depth being 0.5-1.5 m; a solution preparing step, namely a step of weighing 10 parts by mass of the sieved soil, adding 80-100 parts by mass of deionized water into the soil, adding 2-3 parts by mass of an extracting agent into the mixture, stirring themixture at a high speed of 2000-3000 r/min for 10-20 min, and then stirring the mixture at a rotating speed of 40-60 r/min to achieve hydration; a step of allowing the mixture to stand, namely a stepof allowing the liquid mixture obtained in the step A2 to stand at 30-40 DEG C for 2-3 h; a step of separation, namely a step of inserting two electrode plates into the liquid mixture, and inputting steep pulse current to the two electrode plates, with the peak value of steep pluses being 150-180 V, the pulse width being 0.5-0.8 ms, the repetition frequency being 200-300 kHz, and the pulse steepness being 50-100 ns; a step of centrifugation, namely a step of adding a separated liquid obtained in the step A4 into a centrifuge, and performing centrifugation at a rotating speed of 10000-15000 r/min; and a step of measurement, namely a step of drawing a liquid supernatant after centrifugation, and measuring nutrients in the liquid supernatant by utilizing an ultraviolet-visible light spectrophotometer. When the method is used for measuring nutrient ions in soil, measured data are more accurate and the measurement efficiency is higher.