How to make: Roti John

How to make: Roti John

When Speedy saw Bobby Chin making Roti John in an episode of Cafe Asia, he promised he’d make Roti John at home. And he did.

A popular hawker food in Malaysia and Singapore, Roti John is a sandwich and omelet in one. Beef, eggs, chopped shallots and chili paste are stirred together and spread on a split French baguette. The bread is cooked in a pan, on both sides, then sliced before serving. It may sound plain but the addition of chili paste — or sambal, as it is called in Singapore and Malaysia — really gives this sandwich omelet an amazing kick.

There are many stories about the origin of this dish as well as its name. According to one theory, the “John” is descriptive of the Western baguette. The second is a story about a roti (bread) man in Malaysia who whipped up the sandwich for a Western man. Since all Western men are often referred to as “John”, that’s how the sandwich purportedly got its name. I like the third story best:

The story goes that the dish was named after a caucasian called John who used to ask the cooks to whip up egg sandwiches for him. Roti is bread in Malay, therefore rendering the name Roti John.

It doesn’t really matter which story tells the true origin of this sandwich omelet. What really matters is that it is delicious and very easy to make.

Roti John


  • 1 French baguette, the long kind
    3/4 c. of cooked minced beef
    3 eggs, beaten
    3 shallots, chopped (you can substitute onions)
    salt, to taste
    1 to 2 tsps. of chili paste
    2 tsps. of cooking oil


  1. Cut the baguette into three portions. Split each portion into halves.In a bowl, stir together the beef, eggs, shallots, chili paste and salt. Divide the mixture into three equal portions.

    Heat a teaspoonful of cooking oil in a non-stick pan.

    Spread one portion of the beef-egg mixture on the cut side of a piece of baguette.

    Roti John

    Invert the bread on the hot oil and cook until the beef-egg mixture is lightly browned.

    Roti John

    Flip and heat the other side of the bread for about a minute.

    Repeat the procedure for the two other pieces of baguette and the remaining filling.

    Roti John

    Fold the bread, slice into four to five portions and serve. With a salad, if you like.

Cooking time (duration):15 minutes

Number of servings (yield): 3

Meal type: snack

  • Terb

    I’m currently based in Singapore, and one of my Malay colleagues makes roti john using Ligo sardines. She specifically looks for the Ligo brand because she says it tastes better than the local and imported brands available here. She mixes the sardines with lemon juice, onions and cilantro, and brings these for our team’s breakfast every once in a while. Such a treat. But you’re not supposed to use a lot of sardines though, I think she just uses one big can for so many roti johns so that it won’t taste or smell too much like sardines.

    • Connie Veneracion

      Wow, I love the idea! I’m more of a 555 fan though than Ligo. :D

  • Mrs. Kolca

    I’m craving. I wanna try cooking this and serve for brunch. Good as “baon” also. Hmmm.. yum!

  • Connie

    Breakfast, lunch, snack, dinner… it’s an anytime of the day dish. :)

  • emyM

    Yummy!I’ll put a slice of tomato,cucumber and cilantro on mine.
    Roti John meets bahn mi.

  • louie

    Breakfast, lunch, snack, dinner… it’s an anytime of the day dish. :)

  • Catherine

    Oh, I remember that episode. i certainly remember how easy it was to make as well.

  • Tristan Ed

    ms. connie, sa minced beef, can I use ground beef or chicken as substitute? is it enough na i-boil yun para ma-cooked? for how long? thanks in advance! God bless you!

  • Connie

    Yes, you can. But brown the meat in a little oil instead of boiling.