In this paper, we consider the problem of designing a robust controller for a two-inertia system which contains arbitrarily large (but bounded) model uncertainties and disturbances. The research is motivated by the fact that a two-inertia system represents most of an industrial robot arm system that has a flexible joint, for which vibration suppression and robust control against model uncertainties and external disturbances are very important. The proposed controller consists of two parts: the outer-loop controller designed by the backstepping approach and the inner-loop controller by the new <i xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">partial</i> disturbance observer (DOB). The DOB is responsible for compensating the input-matched uncertainties and disturbances, while the backstepping controller is designed for dealing with the rest. The proposed controller makes tracking error and vibration of the system suppressed within an arbitrarily small bound during operation time when full states are measured. The results are verified by simulations and experiments with a Luenberger observer.