A model predictive controller is developed for following the position of a human dancer in robot ballroom dancing. The control design uses a dynamic model of a dancer, based on a variant of the so-called 3D Linear Inverted Pendulum Mode that includes also the swing foot. This model serves as a basis for a Kalman predictor of the human motion during the single-support phase, while a simpler kinematic technique is used during the double-support phase. The output of the prediction filter enables to design a Model Predictive Control (MPC) law, by recursively solving on line and within a preview window a convex linear-quadratic optimization problem, constrained by differential kinematic bounds on robot commands. Two different control strategies, either at the velocity or at the acceleration level, are proposed and compared in simulations and in actual experiments. Accurate and reactive behaviors are obtained by the ballroom robot follower, confirming the benefit of the predictive/filtering nature of a MPC approach to handle uncertainty of human intentions and noisy signals.