The key ingredients to successful real-time reservoir management, also known as a “closed-loop” approach, include efficient optimization and model-updating (history-matching) algorithms, as well as techniques for efficient uncertainty propagation. This work discusses a simplified implementation of the closed-loop approach that combines efficient optimal control and model-updating algorithms for real-time production optimization. An adjoint model is applied to provide gradients of the objective function with respect to the well controls; these gradients are then used with standard optimization algorithms to determine optimum well settings. To enable efficient history matching, Bayesian inversion theory is used in combination with an optimal representation of the unknown parameter field in terms of a Karhunen–Loeve expansion. This representation allows for the direct application of adjoint techniques for the history match while assuring that the two-point geostatistics of the reservoir description are maintained. The benefits and efficiency of the overall closed-loop approach are demonstrated through real-time optimizations of net present value (NPV) for synthetic reservoirs under waterflood subject to production constraints and uncertain reservoir description. For two example cases, the closed-loop optimization methodology is shown to provide a substantial improvement in NPV over the base case, and the results are seen to be quite close to those obtained when the reservoir description is known a priori.