Skip to content
FriendsPantry

Malaysian · Singaporean

Roti john

Non-vegetarian

A split baguette pressed face-down onto a spiced minced beef and egg omelette on the griddle, then loaded with chilli sauce, mayonnaise and ketchup — a night-market favourite.

Roti john is a Malaysian sandwich, ready in about 30 minutes and made with crusty bread / baguette, ground beef and egg. It serves 4 and is rated easy to cook.

Start cooking
Close-up of a tasty Spanish omelette filled baguette on a wooden board.
Photo: Nano Erdozain / Pexels · Pexels License
Prep
10 min
Cook
20 min
Total
30 min
Serves
4
Level
Easy
Calories
635

Ingredients

4 servings

Method

  1. Step 1

    Brown the beef in a dry pan, breaking it up, until cooked. Cool slightly, then mix with the eggs (opens in a new tab), onion (opens in a new tab), curry powder (opens in a new tab), salt and pepper (opens in a new tab).

    Food safety: Minced beef should be cooked through to 71 °C; whole steak pieces can be served pink if seared on all sides.

    Meat searing in a hot pan
    How it looks · Photo: Skylar Kang on Pexels
  2. Step 2

    Melt a quarter of the butter (opens in a new tab) on a griddle and pour on a quarter of the egg (opens in a new tab) mixture in a strip the size of the bread.

    • 1 min
    • medium heat
    A flatbread cooking on a hot griddle
    How it looks · Photo: Muhammad Khawar Nazir on Pexels
  3. Step 3

    Immediately press a piece of bread, cut side down, onto the egg (opens in a new tab). Cook until the egg is set and stuck to the bread, then flip and toast the crust side briefly. Repeat.

    Food safety: Cook eggs until set if serving young children, pregnant people or anyone vulnerable.

About this dish

Origin
Not attributed to one place · Origin disputedClaimed by both Singapore and Malaysia; it is a fixture of Malaysian Ramadan bazaars.Also popular in Malaysia, Singapore
Dish
Lunch · Dinner · Snack · Sandwiches · Street food
Cooking method
Pan-fried
Taste
savoury, sweet & spicy, rich
Diet
No nut ingredients · High-protein
All labelsNon-vegetarian · No nut ingredients · Alcohol-free · Pork-free · High-protein
With the listed swaps: Beef-freeWorked out from the ingredients. How labels work
Good for
Street food · Child-friendly
Techniques
Pan-frying

Allergens

  • Contains: Milkfrom butter
  • Contains: Eggsfrom egg, mayonnaise
  • Contains: Wheatfrom crusty bread / baguette
  • Contains: Glutenfrom crusty bread / baguette
  • May contain: Sesamefrom crusty bread / baguette
  • May contain: Mustardfrom curry powder, mayonnaise, tomato ketchup
  • May contain: Celeryfrom curry powder, tomato ketchup

Based on typical versions of these ingredients and not verified allergen-free. Brands differ and cross-contact happens, so always check labels. For severe allergies, follow your clinician’s advice.

Nutrition

635 kcal per serving

Calculated

1 serving ≈ 280 g · recipe makes 4

Where the energy comes from

  • Protein 19%
  • Carbohydrate 38%
  • Fat 43%
Nutrition per serving and per 100 g
NutrientPer servingPer 100 g*
Energy635 kcal227 kcal
Protein29.5 g10.5 g
Carbohydrate60.3 g21.5 g
Net carbohydrate57.1 g20.4 g
Sugars10 g3.6 g
Added sugars——
Fibre3.2 g1.1 g
Fat30.5 g10.9 g
Saturated fat10.7 g3.8 g
Trans fat0.8 g0.3 g
Cholesterol249 mg89 mg
Sodium1409 mg503 mg
Salt equivalent3.5 g1.3 g
Vitamins & minerals per serving
Potassium
484 mg
Calcium
105 mg
Iron
6.5 mg
Magnesium
57 mg
Vitamin A (RAE)
149 µg
Vitamin C
5 mg
Vitamin D
1.1 µg
Vitamin B12
1.8 µg
Folate (DFE)
205 µg

How these numbers were made

  • Calculated from USDA FoodData Central (SR Legacy) per-100 g values and the listed quantities.
  • *Per 100 g of combined raw ingredients; the cooked dish may weigh more or less.
  • Optional ingredients are not included: lettuce, cucumber.
  • “—” means the value isn’t known for enough of the ingredients; it is never zero by default.
  • Values are estimates for guidance, not for medical dosing. U.S. Department of Agriculture, Agricultural Research Service. FoodData Central, 2019. fdc.nal.usda.gov.

Good to know

Tips

  • Work fast: the bread must go onto the egg while it is still runny so it soaks in.

Common mistakes

  • Letting the egg set before the bread goes on — press the bread on immediately so they fuse.
  • Too much filling per strip, so the egg stays raw in the middle; spread it thinly.

Serve with

  • Cut into chunks and share as a snack.

Storage

  • Best eaten hot.

Variations

  • Roti john sardin: Made with mashed tinned sardines instead of beef.

Original editorial recipe · FriendsPantry editorial · Not yet independently reviewed · Added · Updated

Recipe DNA

How this dish is built

Grouped by each ingredient’s role in the dish. Each band’s width is its share of the dish by weight. Choose a component to see what it does.

What the dish is built around

Main ingredient

Used in steps 1, 2, 3, 4

Masalas in this recipe

Make the masala first, then come back to finish the dish.

Reviews & corrections

Reviews come from signed-in cooks and appear after a moderator checks them. We never show made-up ratings.