As an eco-friendly and efficient adsorbent for removal of potential toxic metals from aqueous solution, biochar has received widespread attention. In the present study, wheat straw biochar (BC) and corresponding modified biochar (HNC) were used to remove Cu2+, Cd2+ and Pb2+ from an aqueous solution. The influence of the environment factors on metals adsorption and adsorption mechanism were discussed in detail. The results showed that the HNC had porous structures and owned ample functional groups (−OH, −COOH and C−N groups) compared with the BC. In the single system, the adsorption capacities of HNC for Cu2+, Cd2+ and Pb2+ at a pH of 5.5 were 18.36, 22.83 and 49.38 mg/g, which were 76.89%, 164.36% and 22.75% higher than that of the BC, respectively. In addition, the adsorption process of Cu2+ and Cd2+ on BC and HNC fitted to the Langmuir isotherm model and pseudo-second-order kinetics, but the adsorption of Pb2+ on BC and HNC fitted to the Langmuir isotherm model and pseudo-first-order kinetics. Adsorption isotherms indicated that the adsorption of Cu2+, Cd2+ and Pb2+ by BC and HNC was a spontaneous endothermic process. The competitive adsorption of mixed metal ions (Cu2+, Cd2+ and Pb2+) revealed that HNC was more preferential to adsorb Cu2+ compared with Cd2+ and Pb2+. Furthermore, Fourier transform infrared spectroscopy and X-ray photoelectron spectroscopy analyses revealed that the main adsorption mechanisms were surface complexation and precipitation, and the adsorbed Cu2+, Cd2+ and Pb2+ on HNC mainly exist as CuO, Cd(OH)2, Pb3O4 and Pb(OH)2.