In a pot, bring some water to a boil, add the soy cubes and cook for 10-15 minutes.
Drain well and transfer to a bowl. Add ginger, garlic, garam masala, and coconut oil and set aside for 30 minutes.
In a pan, sautee the onion and garlic in 1 Tbsp of coconut oil.
Transfer to a blender with the tomatoes, ginger, all the spices and blend until it becomes a paste.
Add the remaining oil to the pan and fry the soy cubes for 3-5 minutes, stirring constantly.
Add the sauce and coconut milk. Cook for 5-7 minutes.
Season with salt to taste.
Serve with fresh cilantro and lime.