Cut 250 grams of firm tofu into 2 cm cubes and set aside.
In a blender, combine 2 roughly chopped tomatoes, 1 chopped onion, 4 cloves of garlic, 1-inch piece of ginger, 2 green chilies, 1 tablespoon of vinegar, and 1/4 cup of water. Blend until smooth to make the vindaloo paste.
Heat 2 tablespoons of oil in a pan over medium heat. Add 1 teaspoon of mustard seeds and let them splutter.
Add the blended vindaloo paste to the pan and cook for 5-7 minutes, stirring occasionally, until the raw smell of the paste disappears and the oil starts to separate.
Add 1/2 teaspoon of turmeric powder, 1 teaspoon of red chili powder, 1 teaspoon of coriander powder, and 1/2 teaspoon of garam masala. Mix well and cook for another 2 minutes.
Add the cubed tofu to the pan and gently mix to coat the tofu with the vindaloo paste. Cook for 5 minutes, stirring occasionally.
Add 1 cup of water and salt to taste. Bring the curry to a boil, then reduce the heat and let it simmer for 10-12 minutes, or until the tofu is cooked through and the flavors have melded together.
Garnish with chopped coriander leaves and serve hot with steamed rice or Indian bread.