With the growth of WLAN infrastructure, received signal strength (RSS) fingerprint-based WiFi indoor positioning systems have received considerable attention recently. Some existing RSS fingerprint-based localization methods estimate locations by directly matching an online testing sample with an offline database, and thus show low accuracy because RSS is known to be vulnerable to variations caused by changing environment and heterogeneous hardware. To overcome the above drawbacks, we propose an expectation maximization indoor localization approach by leveraging supporting set (EMSS). In the offline phase, we first divide a positioning area into ${G}$ grid points and index each grid by a label. All the indices of grid points form a label set $ {\Psi =\{1,2,\ldots, G\}}$ . Then, we collect the RSS fingerprints to construct an offline database for all labeled grid points. In the online phase, given an online RSS testing sample, we first construct a supporting set (SS), which is a subset of $ {\Psi }$ , selected by the similarity between the online RSS sample and offline database. So, SS is a latent space that likely includes the true label (location) of the user. Based on the SS, we then derive an expectation maximization (EM) algorithm by incorporating the fingerprint quality into the estimation of the true label. EM can intelligently estimate the location of the user by evaluating the fingerprint quality of SS. Furthermore, we propose an optimal size selection algorithm based on Bayesian information criterion to adaptively determine the size of SS. Our method can effectively mitigate the impacts of changing environment and heterogeneous hardware without fingerprint and hardware calibrations, and can thus be practically applied. Experimental results verify that EMSS performs significantly better than some existing fingerprint-based methods.