Make the base for the curry: Add the oil/ghee to a large pot or walled pan and place over medium heat. Once hot toss in the bay leaf, cumin seeds, and mustard seeds. Sautee these whole spices for roughly 30 seconds. Then add the sliced onion and stir to combine with the spices. Sautee the sliced onions for roughly 5 minutes or until they start to carmelize. Finally add in the garlic, ginger, green chilis, tomato paste, salt, and remaining powdered spices (garam masala, chili, coriander, turmeric). Stir to combine everything together and continue to sautee for another minute or two.
Add and cook the potatoes: Add the potatoes to the pot/pan and stir so that every piece is coated in the curry base. Then pour in the 2 cups of water and stir so that the curry base mixes in and forms a nice sauce. Let the curry sauce come to a boil, then cover the pot/pan, and reduce the heat to low. Let the potatoes cook in the curry sauce for 20 to 30 minutes, making sure to stir them every 5 to 10 minutes. You will know the potatoes are cooked when a fork easily pierces them.
Add and cook the spinach: Add the spinach to the pot and stir with the potatoes and curry until wilted and combined. This should take roughly 3 to 5 minutes. Finally taste the dish and add additional salt to your personal preference
Adjust the thickness of the sauce (optional): The saag aloo is technically done at this point. However, you can adjust the thickness of the curry sauce depending on your personal preference. To make it saucier/thinner simply add some additional water and stir to combine. If you prefer it to be a thicker sauce then simply let it simmer for a couple of minutes without the lid so that it reduces.
Serve the saag aloo immediately and enjoy!