The \(\hbox {R}\times \hbox {C}\) ecological inference problem is widely known to be challenging. While most recent approaches rely on linear programming, maximum-entropy formulations, or Bayesian models, direct maximization of the likelihood has received limited attention due to the computational challenges of solving the associated optimization problem. We formulate the problem with the EM algorithm to maximize the likelihood given the observed data. We show that the M-step admits a closed-form solution, and we derive an explicit recursion for the exact E-step that remains computationally feasible only for small-sized instances. To scale beyond these instances, we introduce three polynomial-time approximation methods for the E-step based on multivariate normal approximations and a single multinomial representation. Projection techniques are used to enforce the accounting identity of the local and global probabilities, and a joint EM algorithm is introduced to obtain congruent estimates in both directions of the contingency structure. We evaluate the proposed methods against state-of-the-art alternatives using both real and simulated datasets. Across all settings, our approaches achieve superior accuracy, reducing the error in real election data by 17.9% relative to the best competing method. Moreover, the proposed methods run several orders of magnitude faster than existing techniques and remain computationally feasible for large-scale instances. All methods are implemented in the R package fastei.