Landing on a moving platform is an essential requirement to achieve high-performance autonomous flight with various vehicles, including quadrotors. We propose an efficient and reliable autonomous landing system, based on model predictive control, which can accurately land in the presence of external disturbances. To detect and track the landing marker, a fast two-stage algorithm is introduced in the gimbaled camera, while a model predictive controller with variable sampling time is used to predict and calculate the entire landing trajectory based on the estimated platform information. As the quadrotor approaches the target platform, the sampling time is gradually shortened to feed a re-planning process that perfects the landing trajectory continuously and rapidly, improving the overall accuracy and computing efficiency. At the same time, a cascade incremental nonlinear dynamic inversion control method is adopted to track the planned trajectory and improve robustness against external disturbances. We carried out both simulations and outdoor flight experiments to demonstrate the effectiveness of the proposed landing system. The results show that the quadrotor can land rapidly and accurately even under external disturbance and that the terminal position, speed and attitude satisfy the requirements of a smooth landing mission.