In a large pot or Dutch oven, heat the olive oil over medium heat. Add the chopped onion and sauté for about 5 minutes until softened and translucent.
Add the minced garlic, diced carrot, and diced celery. Sauté for an additional 5 minutes until the vegetables begin to soften.
Stir in the crushed tomatoes, white beans, vegetable broth, dried oregano, dried basil, red pepper flakes (if using), salt, and black pepper. Bring the mixture to a boil.
Reduce the heat to low and let the stew simmer for 15 minutes, stirring occasionally.
After simmering, stir in the coconut milk and mix well. Allow it to heat for another 5 minutes, ensuring everything is warmed through.
Taste and adjust seasoning if necessary. Serve hot, garnished with fresh basil leaves if desired.