A non-minimum phase system has unstable zero internal dynamics. Even though the system’s output has stabilised, the state variables of the internal dynamics continue to grow indefinitely. Uncertain parameters in the internal dynamics make their behaviour even more unpredictable. In this article, we solve the tracking problem for a bilinear control system with unstable internal dynamics and uncertain parameters using adaptive backstepping. The bilinear control system is transformed using input-output feedback linearisation to normal form. The unstable internal dynamics containing uncertain parameters are first stabilised using the external dynamics as a virtual control. The external dynamics are then stabilised using other state variables in the external dynamics; the final system uses the actual control function. Numerical simulations are performed to demonstrate the proposed control’s technical implementation and performance. A robustness test is conducted analytically and numerically to understand the control function’s tolerance to uncertain parameters. The simulation results show that the control function successfully solves tracking problems in non-minimum phase systems. Using the integral absolute error criterion, we also determine the range of uncertain parameter values for which the control function works satisfactorily.