A method for treatment of groundwater or surface water that contains contaminants comprising: dosing an influent groundwater or surface water stream containing at least one of a nitrate, perchlorate, chromate, selenate and a volatile organic chemical with nutrients and, after dosing the influent groundwater or surface water stream, processing the influent groundwater or surface water stream in an anoxic-anaerobic bioreactor, wherein said nutrients comprise one or more of organic carbon based electron donors, phosphorus, nitrogen, acetic acid, phosphoric acid and liquid ammonium sulfate; dosing an effluent treated water stream of said anoxic-anaerobic bioreactor with a particle conditioning agent, wherein said particle conditioning agent comprises one or more of a coagulant, a polymeric compound and a cationic polymer; oxygenating said effluent treated water stream of said anoxic-anaerobic bioreactor; after dosing the effluent treated water stream with the particle conditioning agent and oxygenating said effluent treated water stream, filtering the effluent treated water stream in an aerobic biofilter to produce a treated effluent stream, wherein the aerobic biofilter is a granular media-based biofilter; dosing hydrogen peroxide to said influent groundwater or surface water stream and said effluent treated water stream to control biomass content; measuring a nitrate concentration and dissolved oxygen concentration in the influent groundwater or surface water stream; measuring a nitrate concentration and dissolved oxygen concentration in the effluent treated water stream; controlling, by a program logic controller, the dosing of the influent groundwater or surface water stream with nutrients based on the nitrate concentration and dissolved oxygen concentration in the influent groundwater or surface water stream and the effluent treated water stream, and measuring a turbidity value in said effluent treated water stream and a turbidity value in said treated effluent stream and a pressure drop between said influent groundwater or surface water stream and said effluent treated water stream, and between said effluent treated water stream and said treated effluent stream; controlling, by the program logic controller, the dosing of said influent groundwater or surface water stream and said effluent treated water stream with hydrogen peroxide based on the measured turbidity values and the measured pressure drop. dosing an influent groundwater or surface water stream containing at least one of a nitrate, perchlorate, chromate, selenate and a volatile organic chemical with nutrients and, after dosing the influent groundwater or surface water stream, processing the influent groundwater or surface water stream in an anoxic-anaerobic bioreactor, wherein said nutrients comprise one or more of organic carbon based electron donors, phosphorus, nitrogen, acetic acid, phosphoric acid and liquid ammonium sulfate; dosing an effluent treated water stream of said anoxic-anaerobic bioreactor with a particle conditioning agent, wherein said particle conditioning agent comprises one or more of a coagulant, a polymeric compound and a cationic polymer; oxygenating said effluent treated water stream of said anoxic-anaerobic bioreactor; after dosing the effluent treated water stream with the particle conditioning agent and oxygenating said effluent treated water stream, filtering the effluent treated water stream in an aerobic biofilter to produce a treated effluent stream, wherein the aerobic biofilter is a granular media-based biofilter; dosing hydrogen peroxide to said influent groundwater or surface water stream and said effluent treated water stream to control biomass content; measuring a nitrate concentration and dissolved oxygen concentration in the influent groundwater or surface water stream; measuring a nitrate concentration and dissolved oxygen concentration in the effluent treated water stream; controlling, by a program logic controller, the dosing of the influent groundwater or surface water stream with nutrients based on the nitrate concentration and dissolved oxygen concentration in the influent groundwater or surface water stream and the effluent treated water stream, and measuring a turbidity value in said effluent treated water stream and a turbidity value in said treated effluent stream and a pressure drop between said influent groundwater or surface water stream and said effluent treated water stream, and between said effluent treated water stream and said treated effluent stream; controlling, by the program logic controller, the dosing of said influent groundwater or surface water stream and said effluent treated water stream with hydrogen peroxide based on the measured turbidity values and the measured pressure drop.