Tofu: Cut the tofu slab into ½-inch slices. Place them on a clean kitchen towel. Cover with another kitchen towel. Place a 10-pound (approximate) weight on top and let sit for 10 minutes. Alternatively, you can use pressed tofu. Cut the tofu slices into ½-inch cubes.
Heat the oil in a large skillet over medium heat. When the oil is hot, tilt the skillet so the oil coats it evenly. Add the tofu and cook until lightly brown on some sides, stirring occasionally, 4 minutes.
Add the cayenne, cinnamon, garam masala, and salt and mix well to coat. Cook for another 2 minutes and set aside.
Curry: In a blender, combine the onion, ginger, and garlic and blend into a smooth puree with 2 tablespoons of water. Heat the oil in a large skillet over medium heat. When the oil is hot, add the cumin seeds, bay leaves, and cloves. Cook for 1 minute.
Add the pureed onion and cook until the onion mixture is dry and does not smell raw. Stir occasionally to avoid sticking, 13 to 15 minutes.
Add the coconut milk, mango pulp, salt, and vinegar and mix well. Add the tofu and all the spices from the tofu skillet to the sauce skillet. Add a dash of black pepper.
Mix, cover and cook until the sauce comes to a boil, 5 minutes. Reduce the heat to low and cook uncovered until the sauce thickens and desired consistency is achieved, about 15 minutes.
Taste and adjust the salt and tang. Add ½ teaspoon or more sugar if the mango pulp was not sweet. Garnish with cilantro and a dash of garam masala and serve hot.