A fixed-bed sand column with graphene oxide (GO) layer was used to remove heavy metals (Cu(II) and Pb(II)) from an aqueous solution injected under steady flow. Due to the time constrained kinetic process of heavy metal sorption to GO, removal efficiency was affected by the injection flow rate. When injection flow rate changed from 1 to 5 mL min−1, the removal efficiency of the two metals decreased from 15.3% to 10.3% and from 26.7% to 19.0% for Cu(II) and Pb(II), respectively. Provided a fixed concentration of heavy metals in the injected flow, an increase in GO in column from 10 to 30 mg resulted in an sharp increase in the removal efficiency of Pb(II) from 26.7% to 40.5%. When Cu(II) and Pb(II) were applied simultaneously, the removal efficiency of the two metals was lower than when applied by individually. GO-sand column performance was much better for the removal of Pb(II) than for Cu(II) in each corresponding treatment. When breakthrough curve (BTC) data were simulated by the convection-dispersion-reaction (CDER) model, the fittings for Cu in every treatment were better than that of Pb in corresponding treatment. Considering the small amount of GO used to enable the sand columns that resulted in a great increase in k value, compared to the GO-free sand columns, the authors propose GO as an effective adsorption media in filters and reactive barriers to remove Pb(II) from flowing water.