If the octopus is not already cleaned, remove the head and beak, then rinse thoroughly under cold water.
Cut the octopus into bite-sized pieces and set aside.
In a large pot or Dutch oven, heat the vegetable oil or coconut oil over medium heat.
Add the chopped onion and sauté until translucent, about 5 minutes.
Add the minced garlic and grated ginger, and cook for another minute until fragrant.
Stir in the curry powder, turmeric powder, ground cumin, ground coriander, paprika, and ground black pepper. Cook for another 2 minutes, stirring frequently.
Add the chopped tomatoes and cook until they begin to soften and break down, about 5 minutes.
Add the octopus pieces to the pot and stir to coat them with the spice mixture.
Pour in the coconut milk and water or fish broth, and add the curry leaves (if using).
Bring the mixture to a simmer.
Reduce the heat to low, cover, and let the curry simmer for about 45 minutes to 1 hour, or until the octopus is tender and the flavors are well melded. Stir occasionally and add more water or broth if needed to maintain a good consistency.
Taste the curry and adjust the salt as needed.
Enjoy your meal!