In a small saucepan, cover chickpeas with water, add the baking soda, bring to a boil, then cook until very tender, about 6 minutes. Drain and proceed with the recipe.
In a small skillet, melt butter over medium heat; as butter is melting, add ginger and garlic. Reduce heat to medium-low and cook, stirring frequently, until fragrant but not browned, about 1 minute.
Stir in turmeric, cayenne or chile flakes, and ground coriander and cook, stirring constantly, until lightly toasted and fragrant, about 30 seconds; do not allow spices to scorch.
Stir in drained chickpeas and tomato paste and cook until warmed through. Meanwhile, measure ½ cup of reserved chickpea liquid (if necessary, add water to total ½ cup).
Add the ½ cup chickpea liquid, diced tomatoes, sugar, heavy cream, and garam masala, then season with salt. Bring to a boil over medium-high heat, then reduce heat to a simmer and cook, stirring often, until tomatoes break down and liquid thickens to a spoon-coating consistency, 3 to 5 minutes; reduce heat, if necessary, to prevent scorching. Remove from heat, season with more salt, if needed, then serve.
Notes
I've added the ginger and garlic to the cold pan with the butter as it melts on purpose: If you are using frozen cubes and add them directly to a heated pan, the temperature difference will cause excess spluttering. Heating the finely minced or grated ginger and garlic from cold also cooks them gently, reducing the chances of burning.
