This paper presents a unique method for improving the performance of the generalized predictive control (GPC) algorithm for controlling nonlinear systems. This method is termed adaptive generalized predictive control which uses a multi-dimensional surface of the nonlinear plant to recalculate the controller parameters every sampling instant. This results in a more accurate process prediction and improved closed-loop performance over the original GPC algorithm. The adaptive generalized predictive controller was tested in simulation and its control performance compared to GPC on several nonlinear plants with different degrees of nonlinearity. Practical testing and comparisons were performed on a steel cylinder temperature control system. Simulation and experimental results both demonstrate that the adaptive generalized predictive controller demonstrated improved closed-loop performance. The formulation of the nonlinear surface provides the mechanism for the adaptive approach to be readily applied to other advanced control strategies making the methodology generic.