The aim of this study was to reveal the mechanism of nitrogen and phosphorus adsorption by humic acids (HAs). HAs were extracted from weathered coal and used as adsorbents of urea-N and phosphate-P in water. The effect of different factors was considered, such as the initial concentration of urea-N and phosphate-P, temperature, and pH. The surface characteristics of the HAs were analyzed by X-ray diffraction, scanning electron microscopy, energy dispersive X-ray spectroscopy, and Fourier transform infrared spectrometry. The results of batch adsorption experiments showed high effectiveness for nitrogen adsorption, the kinetics fitted with the pseudo-second-order model, and the isotherm followed the Langmuir model. For phosphorus adsorption, the data fitted well with the Weber and Morris model and the adsorption isotherms followed both the Langmuir and Freundlich isotherm models. The experimental results indicated that the adsorption behavior of HAs was both an endothermic and spontaneous process. These findings can be used as a reference for the mitigation of non-point source pollution and the application of fertilizer in agriculture.