Take a heavy bottom nonstick pan. Heat the milk in a pan on medium heat.
once it comes to a boil, let it simmer and reduce on medium-low flame.
Keep stirring after every 3-4 minutes. If possible, use a wider spatula. So it will cover the more area of the bottom pan while stirring and it will make your job easier.
Keep stirring with scraping bottom of the pan and also sides of the pan. As you cook, milk reduces and becomes grainy.
After 40-50 minutes, it will be more grainy. After this stage, you need to stir and scrape sides continuously.
keep stirring and keep cooking, till it becomes solid or dense like halwa.
You will feel that it will take little effort for stirring. At this time, turn off the stove heat. This took me a total of 1 hour and 15 minutes.
Remove it to another bowl and let it cool completely. As it cools it will thicken and harden.
Notes
Always use a nonstick and heavy bottom pan.
Do stir every 4-5 minutes in the beginning and very frequently and then continuously after halfway through