In a large skillet over medium heat, heat the oil. Add the onion and garlic and cook until softened. Add the ginger, cumin, turmeric, coriander, and cinnamon and cook for 1 minute. Add the curry powder and stir to combine.
Add the tofu to the skillet and cook for 5 minutes. Add the tomatoes with their juices and stir to combine.
Reduce heat to low and simmer for 10 minutes or until sauce has thickened. Serve over steamed rice.