Add two tablespoons of oil to a shallow pan or skillet over medium-high heat. Fry the shallots until they start to caramelize. Add the flour and stir thoroughly to combine, cooking for a minute or so. Make a space in the center of the pan, and add the last tablespoon of oil and the curry paste. Fry until fragrant.
Next, add the chicken stock and stir thoroughly, breaking up the curry and the roux. Bring to a boil and let thicken. Add the coconut milk, curry powder, soy sauce, white and black peppers, the sugar, and finally, the fish balls.
Simmer for 10 minutes until the curry sauce thickens and the fish balls are warmed through.
Serve immediately in the pan or on skewers. You can also eat these with a bowl of plain rice or noodles!