In this paper we demonstrate adaptive flow control for an incompressible viscous fluid through a two-dimensional channel without using an analytical model. An adaptive disturbance rejection algorithm is implemented within a CFD simulation to reduce the effects of an unknown time-varying inlet velocity disturbance on the performance variable, which is the longitudinal velocity component of the flow at a downstream location. The algorithm requires minimal knowledge of the system, specifically, the numerator coefficients of the transfer functions from the control inputs to the performance variable. System identification, based on CFD simulation prior to disturbance rejection, is used to identify the required parameters.