Make the roux first (can be done in advance): Melt butter in a small pan over low heat. Add flour and whisk constantly for 8–10 minutes until it smells toasty and turns light brown. Add curry powder, garam masala, and cocoa powder; cook 30 seconds until fragrant. Add ketchup, Worcestershire, and honey. Gradually whisk in chicken stock until smooth. Simmer until it thickens to a gravy consistency (it will thicken more later). Set aside.
Cook the filling: In a large pot, heat oil and sauté onion until translucent and sweet (8–10 min). Add chicken, brown lightly. Add carrot and potato, stir-fry 3–4 minutes. Pour in the curry roux sauce plus about 300–400 ml water (you want it slightly thinner than regular curry because it will reduce in the oven). Simmer 15–20 minutes until potatoes are fully soft. Season with soy sauce, salt, and pepper to taste. It should taste rich, slightly sweet, and comforting.
Assemble the gratin: Preheat oven to 220 °C / 425 °F. Transfer the curry into individual oven-safe ramekins or one large baking dish. Pour a layer of heavy cream (or béchamel) over the top. Cover generously with shredded cheese. Optional: lightly dust with extra curry powder and panko.
Bake: 12–18 minutes or until the cheese is bubbly and golden-brown in spots (broil the last 2 minutes for leopard spotting if you want the full maid-café look).
Serve: Garnish with parsley, a tiny heart-shaped carrot, or whatever cute thing you want. Serve with a spoon and warn people it’s lava-hot.
