Roti John

1311kcal64g protein79.8g fat79.9g carbs*Estimates computed from the ingredient list; cost uses average US supermarket prices. Not a substitute for packaging measurements or your receipt.
Contains gluten, dairy, egg · sometimes contains soy — check the label · only in an optional ingredient: fish
Restrictions
Containsgluten · dairy · eggIt is in an ingredient you cannot leave out.
Sometimes contains — check the labelsoy (Mayonnaise)Some brands have it, some do not. The recipe cannot tell, so this is the one you check yourself.
Only if you add itfish (sardines canned)Leave that ingredient out and the dish does not have it.
Diets
No porkNo alcohol
Worked out from the ingredient list. It knows nothing about brands, shared equipment or cross contamination, and it is not a certification — if you have an allergy, you still have to read the label.
Ingredients
Servings:
| 1 unit | soft baguette (split lengthwise, cut into 4 lengths) |
| 250 g | lamb or mutton (minced) |
| 6 unit | eggs |
| 1 unit | onion (grated or very finely diced) |
| 2 clove | garlic (minced) |
| 2 tsp | curry powder |
| ¾ tsp | salt |
| ½ tsp | black pepper (ground) |
| 1 tbsp | vegetable oil (for the filling) |
| 2 tbsp | butter or ghee (for the pan) |
| 4 tbsp | mayonnaise |
| 2 tbsp | chilli sauce |
| 2 tbsp | ketchup |
Optional
Not counted above. The dish works without them.
| 1 tbsp | sambal oelek (stirred into the egg or the sauce) |
| 200 g | canned sardines in tomato sauce (the Singaporean sardine version, in place of the mince) |
| 250 g | ground beef (the common substitute for lamb) |
| 4 unit | hot dog buns (the honest substitute for soft baguette) |
| 4 slice | cheddar (laid on while the sandwich is hot) |
| 1 unit | cucumber (sliced) |
| 1 unit | tomato (sliced) |
| 1 cup | cabbage (finely shredded) |
| 2 unit | scallion (thinly sliced, into the egg) |
| 5 unit | mushrooms (diced, for the meatless version) |
Steps
- saute4 minmedium, in the oil, until translucent and collapsedgrated onion + garlic, softened until they have given up their water and gone limp. Grate or dice the onion far finer than you would for anything else: it has to disappear into a thin sheet of egg, and a coarse dice sits proud of the omelette, refuses to bond and rolls out of the sandwich at the first bite. Garlic goes in for the last minute only, since it burns in the time raw onion needs.
- saute7 minmedium-high, broken up fine, cooked until the pan is dry+ minced lamb + curry powder + salt + pepper, worked apart with the spoon until no clumps remain and then cooked on past browning until the released liquid has boiled off and the meat begins to fry in its own fat. Stopping while the pan is still wet is the mistake: that water goes straight into the egg, and a wet mixture will not set into a sheet — it stays custardy in the middle while the outside browns. The curry powder goes in with the meat rather than at the end because its aromatics are fat-soluble; bloomed in hot fat they open up, stirred into a finished dish they stay dusty and raw.
- rest5 minoff the heat, spread out on a plate to lose its heat quicklythe cooked filling, cooled until merely warm. This looks like a step you can skip and it is not. Filling straight off the flame carries enough residual heat to start setting the eggs the moment it is stirred in, and once the protein has coagulated into curds it can no longer form the continuous flexible sheet the bread needs to bond to. Scrambled egg does not grip a crumb; a sheet does.
- whisk2 minbeaten until uniform, no ropes of white lefteggs beaten thoroughly, then + the cooled filling, folded through. Beat past the point where it looks mixed — unbroken strands of white set firm and rubbery while the yolk-rich areas set soft, and in a layer this thin you taste the difference as patchiness. Divide the mixture by eye into as many portions as you have bread lengths before you start cooking, or the first sandwich takes more than its share.
- fry3 minmedium, buttered flat pan, egg spread only to the bread's footprint, bread pressed cut-side down and weightedone portion of the egg mixture poured into the pan and nudged out to roughly the shape of the bread, then the split bread laid cut-face down onto it and pressed firmly with a spatula and held there. This is the technique the dish exists to teach. The press drives the still-liquid egg up into the open crumb, so that when it sets it is anchored inside the bread rather than lying under it — without weight you get an omelette and a roll that part company on the first bite. Do not stir and do not chase the mixture around the pan. Spread the egg wider than the bread and the overhang, unprotected, browns to leather before the centre under the crumb has set.
- sear1 minoverhang tucked under, flipped, 30 to 45 seconds crust-down in the butterfold any skirt of set egg back under the edges of the bread, then turn the whole sandwich over so the crust meets the buttered pan. The flip does one job — it crisps and colours the outside of the bread while the egg face is protected — and it is short, because past a minute the crust dries out and the egg overcooks and squeaks. If cheese is going on, it goes on the egg face now, under the residual heat.
- top2 minoff the heat, dressed and folded closed, served at oncemayonnaise + chilli sauce + ketchup drizzled over the egg face, then the sandwich folded shut. Sauce is added at the table and to taste; every source treats it that way rather than as a measured component. Cucumber, tomato and shredded cabbage go in here if they are being used. Eat it immediately — the egg is at its best in the first few minutes, and the crust it took a flip to build starts softening under the sauce.