Skip to Content

Malaysian Roti John Recipe

Malaysian Roti John Recipe

Roti John is a popular sandwich in Malaysia consisting of bread, usually a baguette, filled with eggs and onions. A layer of beaten egg is placed over a griddle then toped with bread that has been sliced and placed face down over the eggs.

The bread and egg are then flipped over with the egg layer cooked and now attached to the bread. The sandwich is then filled with cooked onions. It’s eaten as a snack, served with ketchup.

Over time, more fillings have become popular additions to the sandwich, such as chillies, various condiments, vegetables, cheese, sardines, or minced meats except pork since Malaysia is a Muslim country.

Roti John is a popular street food and there is no shortage of street vendors serving up fresh batches of this sandwich at all hours of the day.

Origin & Cultural Significance

Roti john is a fairly recent addition to Malaysian cuisine. It has been around since the 60’s and originated in Singapore. The two countries were once one nation so Roti John is one example of the dishes they share.

Roti means bread and John is the colloquial reference to an Englishman, who according to urban myth once asked a street vendor for a hamburger. The vendor presented him with this now well-known sandwich.

Roti John with condiments

Malaysian Roti John Recipe

Yield: 2 Servings
Prep Time: 10 minutes
Cook Time: 15 minutes
Total Time: 25 minutes

Roti John is a popular sandwich from Malaysia. A basic roti john consists of bread, usually a baguette, filled with eggs and onions.


  • Baguette - 1
  • Minced beef - 7 oz.
  • Red chilli (fresh) - 1
  • Eggs - 4
  • Onion (medium) - 1
  • Salt - 1 tsp
  • Black pepper - to taste
  • Cooking oil - as needed
  • Cucumber slices - as needed
  • Tomatoes - as needed
  • Red onion slices - as needed
  • Ketchup - as needed
  • Mayonnaise - as needed
  • Chili sauce - as needed


  1. Lightly beat the eggs up in a large bowl and set aside.
  2. Chop up the onion finely and add to the eggs.
  3. Season the beef with the chili and half tsp salt and some pepper.
  4. Heat 1 Tbsp of oil in a pan on medium high heat and cook the beef for about 7-10 minutes until done and all the liquid has dried up.
  5. Add into the bowl of eggs.
  6. Season the eggs mix with the salt and some pepper.
  7. Slice each baguette half in half again, lengthwise, leaving it attached a little (not a clean cut).
  8. Heat 1 Tbsp of oil in a large frying pan or flat griddle on medium high heat.
  9. Pour half the egg mixture in and swirl the egg to spread slightly.
  10. Place one baguette half (2 attached quarters) cut side down, onto the egg mix in the pan.
  11. Using a spatula, press down on the baguette to cook the egg.
  12. Cook for two minutes, pressing down regularly.
  13. Using the edge of the spatula, tuck any excess omelet in and under the baguette slice.
  14. Flip the egg and baguette over and just lightly brown the top of the baguettes.
  15. Fold the baguette over, transfer to a cutting board and cut into slices.
  16. Transfer the whole lot onto a plate and top with the vegetables.
Nutrition Information:
Yield: 2 Serving Size: 1
Amount Per Serving: Calories: 1299Total Fat: 60gSaturated Fat: 17gTrans Fat: 1gUnsaturated Fat: 33gCholesterol: 514mgSodium: 3523mgCarbohydrates: 112gFiber: 7gSugar: 17gProtein: 77g

Nutrition is provided and calculated by Nutritionix. It is for general information purposes and is only a rough estimation.

Share on Social:

Skip to Recipe