Massive multiple-input multiple-output (M-MIMO) is one of the key ingredients in the upcoming 5G technology. The benefits associated with M-MIMO rely largely on the accuracy of channel state information (CSI) available at the base station (BS). The existing literature mostly employs pilot-aided schemes which require additional pilots for improving their CSI accuracy; additionally, pilot contamination degrades their performance to a large extent. In this paper, we design a Space-Alternating Generalized Expectation-Maximization (SAGE) based semi-blind estimator for pilot contaminated multi-user (MU) M-MIMO systems. It utilizes both pilot and a few data symbols for CSI estimation through two stages, namely initialization and iterative SAGE (ISAGE). We obtain an initial channel estimate with the help of a pilot-aided linear minimum mean squared error (LMMSE) estimator in the initialization stage. The acquired initial estimate from the former stage is then iteratively updated by SAGE algorithm with the joint usage of pilot and a few data symbols in ISAGE stage. The inclusion of data information in ISAGE stages' estimation process aids in simultaneous improvement of CSI accuracy and spectral efficiency (SE) of a M-MIMO system; which is unlikely for a pilot based estimation scheme. Through simulations, we show that our estimator obtains a considerable improvement over the existing pilot-aided schemes in terms of mean squared error (MSE), bit error rate (BER), SE, and energy efficiency (EE) at a nominal increase in complexity. Besides, on average, it achieves convergence in almost two iterations. We also derive modified Cramer-Rao lower bound (MCRLB) to validate the estimation efficacy of our estimator. We evaluate a closed-form expression for lower bound on UL achievable rate of MU M-MIMO systems under both perfect and imperfect CSI scenario. We also discuss the trade-off between SE and EE.