In a medium-size pot, heat the peanut oil on medium-low heat.
Add the onions and cook until they are translucent and soft (approx. 5 minutes).
Add the minced garlic and the garam masala. Stir well and simmer for approx. 30 seconds.
Add the plum tomatoes along with the juice from the cans.
Add sea salt and sugar.
Turn up the heat to bring everything to a rolling boil, and then turn the heat down to low.
Give the soup a taste test and add salt/sugar to your liking if you feel the need.
Give it a good stir, then partially cover the pot and let everything simmer for approx. 20 minutes.
Transfer the soup to a food processor or blender. Do this in batches if you must.
Add the yogurt, and process until you get the smooth consistency you're after. The texture can be a personal preference thing, so go with the flow and work at it until you get the results you're after.
Ladle the soup into bowls and garnish with yogurt, pepitas, and cilantro or flat leaf parsley (all garnishes are optional).