In a pot over medium heat, heat oil. Add onions, garlic and ginger until limp and aromatic. Add tomatoes and cook, mashing tomatoes with back of spoon, until softened and have released juice.
Add fish sauce and cook for about 1 to 2 minutes. Add water and bring to a boil. Add mussels and cook, skimming scum that floats to top, for about 3 to 5 minutes. Season with salt and pepper to taste. Add spinach. Turn off and allow spinach to cook in residual steam. Serve hot.