250gramstofucut into small cubes, I used extra-firm tofu
2.5tablespoonsyogurtuse thick yogurt
1teaspoonfinely chopped ginger
1teaspoonfinely chopped garlic
1teaspooncoriander powder
1/2teaspoongaram masala powder
1/4teaspoonred chili powder
1/2teaspoonsmoked paprikaor kashmiri red chili powder
1/4teaspoonsalt
Curry
1tablespoonbutterunsalted
1tablespoonoil
1/2teaspooncumin seeds
1cinnamon stick
2medium red onionroughly chopped
3-4 mediumtomatoesroughly chopped
3largegarlic clovesroughly chopped
1/2inchgingercut into small pieces
1.5teaspoonscurry powder
1/4teaspoonkashmiri red chili powder
1tablespoonsugar
2-3tablespoonsheavy cream
1-1.5cupswateradjust as required
2tablespoonschopped cilantroand more to garnish
saltto taste
Instructions
Press tofu with some heavy object for 20 minutes. This will drain the excess moisture. Now cut the tofu into small cubes.
Next add in the chopped ginger and chopped garlic and then add coriander powder, garam masala powder, smoked paprika powder (or kashmiri red chili powder), salt and red chili powder.
Add in the yogurt and mix till all the tofu pieces are well coated with the spices and yogurt.
Cover and keep this marinated tofu in the refrigerator for 1 hour. You can keep it overnight as well but minimum of 30 minutes is must. Use thick yogurt here, tie regular yogurt in a muslin cloth and let it hang for few hours. Once all the water has drained and yogurt is dry and thick, it's ready to be used in the recipe.
While the tofu is in the refrigerator, prepare the curry. Heat oil and butter in a pan on medium heat.
Once hot, add cinnamon sticks and cumin seeds. Wait till cumin seeds crackle.
Add roughly chopped onions and cook till the onions start turning light golden brown in color.
Then add ginger, garlic and cook for 1-2 minutes or till raw smell goes away.
Add chopped tomatoes, curry powder, sugar, kashmiri red chili powder and salt. Give a good mix.
Cook the tomatoes with spices for around 10-12 minutes or till tomatoes are completely done and oil leaves the side of the spice mix. This is very important, the masala should be nicely cooked on medium heat, don't rush this.
Remove pan from heat, let it cool down a little and puree the mixture to a smooth paste.
Put pan back on heat again. Add the pureed onion-tomato paste back to it.
Add water (adjust the amount of water as per your preference, I added around 1.5 cups] and heavy cream and mix. Let the curry simmer on low for 3-4 minutes as you prepare the tofu.
Remove the marinated tofu from the refrigerator. Spray a pan with little oil and add tofu to it.
Roast/cook the marinated tofu cubes till they becomes brown in color.
Add the roasted tofu to the curry and let it all simmer for additional 2-3 minutes on low heat.
Garnish with cilantro and serve tofu tikka masala with any bread of your choice.
Notes
Vegan version: To make this tofu tikka masala vegan, simply skip the cream (or use coconut cream) and butter and use a non-dairy yogurt to marinate the tofu pieces.
Prep time includes the minimum 30 minutes for which you have to keep the marinated tofu pieces inside the refrigerator.
Use more red chili powder to make it spicier. You guys know I don't eat very spicy food so feel free to adjust to taste.