Accurately estimating state of charge (SoC) is very important to enable advanced management of lithium-ion batteries, however technical challenges mainly exist in the lack of a high-fidelity battery model whose parameters are sensitive to changes of the state and load condition. To address the problem, this paper explores and proposes a model switching estimation algorithm that online selects the most suitable model from its model library based on the relationship between load conditions for calibration and in practice. By leveraging a high-pass filter and the Coulomb counting, an event trigger procedure is developed to detect the estimation performance and then determine timely switching actions. This estimation algorithm is realized by adopting a gradient correction method for system identification and the unscented Kalman filter and H ∞ observer for state estimation. Experimental results illustrate that the proposed algorithm is able to reproduce SoC trajectories under various operating profiles, with the root-mean-square errors bounded by 2.22%. The efficacy of this algorithm is further corroborated by comparing to single model-based estimators and two prevalent adaptive SoC estimators.