Add the diced potatoes to a medium sauce pan and cover with about 1 inch of cold water. Cover and bring to a boil on high heat. Once boiling, reduce the heat to medium and continue to boil gently until the potatoes are just fork tender, about 6-8 minutes.
To a large pot, add the cumin seeds and toast over medium high heat for a couple of minutes, being careful not to burn them. Stir as needed.
Add about a tablespoon of water to the pot with the cumin seeds, and saute the onions, ginger and garlic on medium heat until tender, about 5 minutes.
Add the coriander, turmeric and tomatoes. Stir to combine, then cook until the tomatoes start to break down and get saucy, about 5 minutes.
Add the spinach to the pot in batches. Stir well to blend the hot ingredients into the spinach so it will wilt (I like to use a large set of tongs). When one batch of spinach has started to wilt and reduce in volume, repeat until all of the spinach is in the pot and wilted. Then, reduce heat to medium low and cover to simmer until everything is very soft, about 5 minutes.
Using an immersion blender, puree the mixture until you achieve the desired texture. (I like to leave mine a little chunky.) You can also use a regular blender or a food processor--or skip this step altogether if desired.
Add the garam masala and potatoes, cover and simmer on medium low heat until the flavors are well combined and the potatoes are completely tender, about 5 minutes.
To make it faster. Use frozen spinach and cook the potatoes in the microwave. Place the potatoes in a covered dish with 2 tablespoons of water and cook on high until just fork tender, about 5 minutes. In a pinch, you can also substitute 1 14-ounce can of diced tomatoes for the fresh, but I don't think it turns out as well.Mind your stems. If you don't remove thicker stems from your spinach, you may have a difficult time getting those to puree with the immersion blender, as the stems tend to wrap around the blade.For a creamier version. Add 1/2 cup of plant-based yogurt or cashew cream. (To make cashew cream, blend 1/2 cup of cashews with 1/4 cup of water in a high speed blender.)Chickpea version. For more protein and fiber, use canned chickpeas instead of potatoes. Just add the chickpeas at the end, like you would the potatoes.