In this paper, we present a predictive control algorithm that uses a state-space model. Based on classical control theory, an exact discrete-time model of an induction machine with time-varying components is developed improving the accuracy of state prediction. A torque and stator flux magnitude control algorithm evaluates a cost function for each switching state available in a two-level inverter. The voltage vector with the lowest torque and stator flux magnitude errors is selected to be applied in the next sampling interval. A high degree of flexibility is obtained with the proposed control technique due to the online optimization algorithm, where system nonlinearities and restrictions can be included. Experimental results for a 4-kW induction machine are presented to validate the proposed state-space model and control algorithm.