Place two paper towels on a cutting board and set the tofu on top. Put two more paper towels over the tofu, then place something heavy on the stack. Allow the tofu to sit for about 5 minutes.
Discard the paper towels and slice the tofu into 1/2-inch cubes.
Melt 1 teaspoon of coconut oil in a nonstick skillet over medium-high heat. Arrange the tofu in a single layer and cook for about 4 minutes per side until browned all over. Remove from heat and set aside.
Heat the remaining 2 tablespoons of coconut oil in a medium-sized saucepan over medium-high heat. Add the onion and sauté for about 7 minutes, stirring often, until translucent.
Add the coriander, cumin, and turmeric to the saucepan and cook, stirring, until fragrant.
Add the ginger, chili powder, and crushed red pepper. Cook, stirring often, for about 4 minutes.
Add the crushed tomatoes and salt to the saucepan, then bring the mixture to a boil.
Stir in the spinach, then cover and reduce the heat to medium-low. Let everything simmer for about 7 minutes or until the spinach is bright green.
Add the tofu and gently stir until everything is combined. Cover and simmer for another 5 minutes to allow the tofu to absorb the flavors of the curry.