A novel online estimation technique for estimating the state of charge (SoC) of a lithium iron phosphate (LiFePO4) battery has been developed. Based on a simplified model, the open circuit voltage (OCV) of the battery is estimated through two cascaded linear filtering stages. A recursive least squares filter is employed in the first stage to dynamically estimate the battery model parameters in real-time, and then, a fading Kalman filter (FKF) is used to estimate the OCV from these parameters. FKF can avoid the possibility of large estimation errors, which may occur with a conventional Kalman filter, due to its capability to compensate any modeling error through a fading factor. By optimizing the value of the fading factor in the set of recursion equations of FKF with genetic algorithms, the errors in estimating the battery's SoC in urban dynamometer driving schedules-based experiments and real vehicle driving cycle experiments were below 3% compared to more than 9% in the case of using an ordinary Kalman filter. The proposed method with its simplified model provides the simplicity and feasibility required for real-time application with highly accurate SoC estimation.