As the battery provides the entire propulsion power in electric vehicles (EVs), the utmost importance should be ascribed to the battery management system (BMS) which controls all the activities associated with the battery. This review article seeks to provide readers with an overview of prominent BMS subsystems and their influence on vehicle performance, along with their architectures. Moreover, it collates many recent research activities and critically reviews various control strategies and execution topologies implied in different aspects of BMSs, including battery modeling, states estimation, cell-balancing, and thermal management. The internal architecture of a BMS, along with the architectures of the control modules, is examined to demonstrate the working of an entire BMS control module. Moreover, a critical review of different battery models, control approaches for state estimation, cell-balancing, and thermal management is presented in terms of their salient features and merits and demerits allowing readers to analyze and understand them. The review also throws light on modern technologies implied in BMS, such as IoT (Internet of Things) and cloud-based BMS, to address issues of battery safety. Towards the end of the review, some challenges associated with the design and development of efficient BMSs for E-mobility applications are discussed and the article concludes with recommendations to tackle these challenges.