Fill a medium saucepan with water and place over medium-high heat. Bring to a boil. Once boiling, add the ramen noodles and cook according to package directions. Drain and rinse with cold water. Set aside.
In a large stock pot, add 1 tablespoon of the canola oil, sesame oil, mushrooms, and onion. Saute for 5 minutes or until onion is starting to soften and turn translucent.
Stir in the ginger, garlic, cabbage, carrots. Cook another 2-3 minutes until cabbage starts to wilt.
Stir in the water, broth, and soy sauce. Bring to a simmer.
Stir in the sriracha, vinegar, and spinach. Cook for 2 minutes or until spinach is wilted.
While soup is simmering, add the other 1 tablespoon of canola oil to a nonstick skillet. Arrange tofu in a single layer in pan and cook for 5 minutes on one side. Turn each piece once bottom is browned and allow to cook on the second side another 4-5 minutes or until lightly browned. Repeat until all sides of tofu are lightly browned. Set aside.
To serve, divide noodles into 4 bowls and ladle soup over the noodles. Top with tofu and drizzle with sriracha and chopped green onion to serve.