Gently press and dry the tofu, cut into 1-inch cubes.
Heat 1 tablespoon oil in a large nonstick pan over medium-high heat, toss the tofu cubes in and pan fry till all sides are golden crispy, about 3-4 minutes each side.
Remove tofu from the pan and set aside.
In the same pan, add the other half tablespoon of oil, add chopped onions, garlic, and all of the spices, toast the spices to bring out the aroma, and cook till the onions are golden and soft.
Add tofu back into the pan, slowly pour in the tomato puree, add in the salt, stir to combine well.
Pour in the coconut milk, stir, and cover with the lid and bring to a boil.
Remove the lid and lower the heat to low, let the mixture continue to simmer for 15 - 20 minutes to thicken.
Garnish with fresh cilantro before serving, enjoy!
