Toss the tofu. Using your hands, tear the tofu into thick, irregular pieces, approximately 1.5 inches (3.8cm) each. Transfer to a large mixing bowl and add the oil and salt. Toss until evenly coated.
Air fry. Preheat your air fryer to 365 °F (185°C) and set the time to 20 minutes. Once hot, spread the tofu pieces into an even layer in the air fryer basket and air-fry for 20 minutes, flipping halfway.
Prepare the marinade. In the meantime, add the yogurt, lime juice, garlic, ginger, spices, and salt to a deep plate. Stir to combine.
Add the tofu. Once the tofu is golden brown, remove it from the air fryer and let it cool for about 5 minutes. Then, add the warm tofu to the bowl containing the marinade and toss to coat. Let it marinate for at least 30 minutes, preferably 2 hours.
Air fry again. Preheat your air fryer to 400 °F (200°C) and set the time to 12 minutes. Once hot, spread the marinated tofu in an even layer in the air fryer basket. Do not add the leftover marinade, just the tofu pieces. Air fry, flipping halfway through, until the tofu is just slightly charred on the edges. Set aside.
Sauté the aromatics. Add the butter to a deep non-stick skillet and melt it over medium heat. Once melted, add the minced shallot, garlic, and ginger. Sauté for 2-3 minutes.
Bloom the spices. Add the spices and stir to combine with the aromatics. Cook for one minute, stirring constantly.
Cook the tomato sauce. Add the blended tomatoes and cook for 3-4 minutes, stirring regularly.
Pour in the coconut milk. Then, add the coconut milk, sugar, and salt, and stir to combine. Simmer for another 5 minutes.
Add the tofu. Finally, add the air-fried tofu and toss to coat. Let it simmer for 3-5 more minutes. Garnish with chopped cilantro and serve with rice and/or naan!
