has it that in the 1960s, a British serviceman asked for a burger at a hawker stall in Singapore. The hawker created one using a French loaf, minced mutton and egg. Word of this tasty sandwich got around. When the hawker saw British soldiers approaching his stall, he'd ask, “Roti, John?” (roti meaning bread, John being the name used to address Caucasian men in Asia), to see if they wanted to order one.
The name stuck, and Roti John became a popular street food in Singapore and in neighbouring Malaysia and Indonesia. Minced meat (mutton, beef or chicken) is fried with chopped onion, spices and beaten egg. A long, soft roll is sliced length-wise and pressed into the mixture. Once the egg is set, the whole roll is flipped over to toast the other side. It is usually doused with chilli sauce and mayonnaise, and then cut into pieces.
Craving?

Roti John
Unlike other Malaysian and Singaporean favourites, this unique sandwich is not easy to find in Sydney. Here’s where you can try the legendary Roti John.
Cafe Rumah
and have Roti John on the menu at . Customers would ask Nawawi if the cafe did bacon and egg rolls. It didn’t, so Riszal came up with an alternative breakfast sandwich inspired by the Roti John he remembers from in Southern Malaysia. But like many items on Cafe Rumah’s menu, Nawawi puts a spin on tradition – on the menu it is called ‘Our Roti John’. “I wanted to incorporate the flavour of Roti John into a milk bun,” he explains.
Cafe Rumah’s take on Roti John is stylish and photogenic. But good looks aside, the proof is in the roti, and ‘Our Roti John’ does not disappoint. The perfectly spiced beef and fried egg sit between the toasted and buttered milk bun, oozing with Malaysian chilli sauce and Rumah’s house-made mayonnaise.
The popularity of this rather messy sandwich is undeniable. Some of Cafe Rumah’s customers have it every day for breakfast. Nawawi himself admits, “If I could eat anything from my menu, I’d choose Roti John.”

The rich chilli sauce and mayonnaise are key to Cafe Rumah’s Roti John. Source: Cafe Rumah
Kevin’s Roti John
Kevin C. ran a night-time Roti John stall in , a city in , East Malaysia, for five years. After migrating to Australia in 2010, he would make Roti John solely for his family at his home in Plumpton in Sydney's west. Then he joined the Facebook page. Once he shared his Roti John history, the group encouraged him to sell his own versions via Facebook. “Just try it for a week,” one eager Roti John fan told him. So in November 2020, he did, and soon found a loyal following.
Plumpton is 46 kilometres from the Sydney CBD. But for a Malaysian food lover, a 90-minute round trip for Roti John is perfectly reasonable and totally worth it. I may have driven to Plumpton, but I was transported to a roadside stall in Malaysia, where I watched the magic happen on a hot plate.
If I could eat anything from my menu, I’d choose Roti John.
Kevin’s Roti John is true to tradition: he uses a hot dog bun (a common variation on the original French loaf and “the softer the better”, he says) and he adds beaten eggs to the minced meat to create an omelette. This Roti John involves enough mayo and Ayam-brand chilli sauce to create a decidedly messy, delightfully authentic street food experience. It's "a beautiful mess”, as one of Kevin’s regular customers describes it.
His customers find him through and word of mouth. Kevin caters to his regulars, but also to groups: he recently had an order of 50 Roti Johns for a Chinese New Year picnic in Epping, and delivers fortnightly to Silverwater where a group of Malaysians play badminton, then tuck into a taste of home. He has one customer who often orders a Roti John supper late at night for pick up. “She misses the late-night snack of her college days,” Kevin explains. So he tries to recreate the memory. “When she first tried my Roti John she said: ‘You’ve brought me back home.’”

Chilli sauce is drizzled over mayonnaise as Kevin’s Roti John portions are assembled. Source: Kevin’s Roti John
Rumah’s Roti John
Makes 1
Ingredients
Spiced beef mix
- 2 tbsp canola or vegetable oil
- 1½ medium-sized brown onions, finely chopped
- ¼ medium-sized red onion, finely chopped
- 4 tbsp garlic, finely chopped
- 2 tbsp ginger, minced
- 500 g good-quality minced beef
- 3 tbsp coriander leaves and stalks, finely chopped
- 3 tbsp curry powder
- 1 tbsp chilli powder, to taste
- ½ tsp ground black pepper
- Salt, to taste
To assemble
- 1 milk bun
- Butter
- 1 egg
- Chilli sauce (Nawawi uses the Lingham’s brand)
- Japanese mayonnaise (Nawawi uses the Kewpie brand)
Method
- To make the spiced beef mix, add oil to a medium-sized pan over high heat. Add the onions, garlic and ginger and stir-fry until the ingredients are slightly softened (around 5 minutes). Add the beef mince to the pan and stir-fry. When the mince is almost cooked (around 8-10 minutes), add remaining ingredients and season to taste. This can be made ahead of time and heated when needed.
- To make one Roti John, slice a milk bun in half. Butter the bun and toast the inside halves of the bun.
- In a medium-sized fry pan over medium heat, add the cooked mince. Make a well in the centre of the mince and crack the egg into the well, so the yolk stays in the middle and whites run over the side and coat the mince. Cook until the egg white is opaque and the yolk is still runny (around 4 minutes).
- To assemble the Roti John, place beef and egg on one toasted bun half and top with caramelised onions, and generous squeezes of chilli sauce and mayo. Top with the remaining half and serve.
Note
- The spiced beef mix makes enough for five portions of Roti John. You can refrigerate the remaining beef for three days or freeze the beef for up to a week. Lingham’s chilli sauce is available in most Asian grocery stores.