Using a tofu press, press the tofu to extract excess water (or create some system with paper towels and heavy pans to press out the water)
Meanwhile, in a large skillet, heat the oil until hot. Saute the onions and bell pepper until the onions become fragrant and transparent.
Add in the garlic, ginger and curry paste. Stir for around 3 minutes.
Reduce hear and stir in the coconut milk, crushed tomatoes and tomato paste until fully incorporated.
Cut the tofu into cubes. Add the tofu into the skillet and stir to coat.
Bring the curry to a boil and allow to simmer uncovered for around 5 minutes.
Mix in the spinach, lime zest and lime juice until the spinach wilts. Season with salt and pepper. Serve over rice.