In a large pot, heat the olive oil over medium heat. Add the diced onion and sauté for about 5 minutes until it becomes translucent. Stir in the minced garlic and grated ginger, cooking for an additional minute until fragrant.
Add the diced red bell pepper to the pot and cook for another 3-4 minutes, stirring occasionally.
Pour in the coconut milk and fish stock (or vegetable broth). Stir in the fish sauce, lime juice, and lime zest. Bring the mixture to a gentle simmer.
Once simmering, add the fish pieces and cherry tomatoes to the pot. Cook for about 5-7 minutes, or until the fish is cooked through and flakes easily with a fork.
Stir in the fresh spinach and cook for an additional 2 minutes until wilted. Season with salt and pepper to taste.
Serve hot, garnished with fresh cilantro and lime wedges on the side.