Heat 1 tablespoon of oil on medium heat in a heavy-bottomed pot.
Add 1 teaspoon of cumin seeds, and let it crackle. Lower the heat and add cinnamon, cloves, green cardamom, black cardamom, bay leaves, peppercorns, and crushed coriander seeds and roast for a few seconds, until the spices are fragrant.
Add crushed ginger and garlic and saute until fragrant.
Add sliced onions, and saute until onions turn translucent.
Add besan and roast until it turns golden brown and gives out a nutty aroma.
Next, add roughly chopped tomatoes, coriander stalks, and 1 teaspoon salt, and saute until tomatoes begin to soften.
Add Kashmiri chili powder, garam masala, turmeric, freshly cracked black pepper and sugar, and saute until the tomatoes turn mushy.
Add 4 cups water, mix well, bring to a boil. Lower the heat, cover and simmer for 20 minutes.
Strain the mixture through a fine-mesh sieve placed over a large heatproof bowl. Press the solids using a spatula, and extract as much of the tomato pulp as you can.
Transfer the shorba back to the pan, and bring to a boil.
Remove the scum with a ladle. Lower the heat and simmer for 4-5 minutes.
Check for seasoning, and adjust with more salt, black pepper, or sugar.