Heat the vegetable oil in a large pot over medium heat. Add the onion and cook for 3 minutes until it softens.
Stir in the garlic and ginger. Cook for 1 minute until fragrant.
Add the Thai red curry paste and stir for 30 seconds to toast it lightly.
Add the red bell pepper, coconut milk, and fish broth. Bring the mixture to a gentle simmer.
Season the snapper pieces with salt and pepper, then add them to the pot. Simmer for 5 to 7 minutes until the fish is opaque and flakes easily.
Remove the pot from heat. Stir in the lime juice and most of the basil. Taste and adjust salt if needed.
Ladle into bowls and top with the remaining basil.