Agriculture is one of the crucial sources of economic growth in the country. Agriculture plays a major role in increasing the overall economy of any country. Many countries are having tremendous growth in the production of crops as the demand for food grains and supply increases. India is one of the leading countries in producing a variety of different crops. However, most parts of India are still using the traditional methods for implementation and cultivation of crops, due to which farmers are facing a loss in their production due to inadequate supply of fertilizers and uncertain climatic conditions. To overcome this, there is a need to develop a system that will look for these soil, temperature, and climatic conditions. IoT-based Smart Agriculture using Machine Learning talks about the use of IoT and Machine Learning techniques that will not only look for sensor data but also recommend the farmers the suitable fertilizers and crops to be grown. Smart sensors will be used to get the values related to soil moisture, temperature, humidity, and pH values. These sensors will check for suitable soil conditions, and how wet or dry the soil is, and will also look for temperature values. The real-time data will be fetched and displayed on the live monitoring webpage and Android applications. We can get timely information about the soil moisture value and suitable temperature and humidity value. With the help of Data Analysis techniques, we can figure out which data to take for further exploration. Historical datasets that are publicly available can be used for training and building Machine Learning models. Farmers can access information about their field data, and machine learning algorithms will help the farmers in making informed decisions about what crops to grow in the specific environment. Keywords— Internet of Things, Sensors, Soil moisture, Temperature, Humidity, Microcontroller, Smart Agriculture, Recommendation Model, Crop Prediction, Fertilizers Prediction, Machine Learning Model.