In recent years, flooding has become a major problem, encountered in many places all over the world, causing damage to property ranging from human life to economic losses. Floods cannot be prevented and eliminated, but the catastrophic damage caused by them can be mitigated. Floods can be predicted in advance with the help of emerging technologies, such as the Internet of Things (IoT). Using such technologies, the people can be warned in advance and evacuated from affected areas to safe places, along with their valuable possessions. In this context, a real-time application is required that can provide an early flood warning based on the seamless data received from IoT devices about various parameters. In this work, we have developed an IoT-based prototype to collect hydrological data of rivers, such as water flow, water level, and water discharge. The proposed system is also able to collect meteorological data, such as temperature, humidity, wind speed, and wind direction. Furthermore, the collected data have been analyzed and classified by using the long short-term memory (LSTM) model with water discharge, water level, rainfall, and temperature as input parameters. The LSTM model then classified the flood events either into “no alert,” “yellow alert,” “orange alert,” or “red alert.” As rivers have dynamic geographical features, measuring the total discharge of water becomes a complex task. To address this vulnerability, a novel approach for determination of water discharge using water flow, sectional area width, and sectional average depth is proposed. In addition, the difficulties in measuring the total amount of rainfall due to the erratic behavior of the weather conditions of the unique geographical location have been addressed. The system is found to accurately predict the flood event state with F1-score of 97% for “no alert,” 97% for “yellow alert,” 96% for “orange alert,” and 98% for “red alert.”