There’s something incredibly comforting and downright delicious about the Singapore Malaysian French Toast (Roti John) Recipe that makes it a true crowd-pleaser. This dish marries the juicy, savory goodness of spiced ground meat with perfectly toasted, egg-coated bread that’s crisp on the outside and soft inside. Every bite bursts with flavor thanks to the clever combination of sauces and seasonings, making it a beloved street food classic that’s just as wonderful for breakfast, lunch, or a hearty snack. If you’ve never tried Roti John before, get ready to fall in love with this easy-to-make sandwich that brings a beautiful fusion of flavors right to your kitchen.

Ingredients You’ll Need
Gathering the ingredients for this Singapore Malaysian French Toast (Roti John) Recipe is a breeze, but each item plays a key role in building layers of taste, texture, and color. From the rich, savory ground meat to the crisp baguette and fragrant herbs, every component works together to make this dish unforgettable.
- Baguette or thick white bread: Choose fresh bread with a sturdy crust to hold all the juicy fillings without getting soggy.
- Ground beef or chicken (300g): Provides a savory and hearty base that soaks up all the flavorful seasonings.
- Small onion, finely chopped: Adds subtle sweetness and crunch to balance the meatiness.
- Eggs (2, beaten): Coat the bread with this for that signature golden, crispy texture.
- Mayonnaise (2 tbsp): Brings moisture and a slight tang that complements the sauces.
- Ketchup (2 tbsp): Adds a touch of sweetness and depth to the meat mixture.
- Soy sauce (1 tbsp): Offers a savory umami punch essential to the flavor profile.
- Oyster sauce (1 tbsp): A rich, slightly sweet seasoning that elevates the beef’s taste.
- Ground black pepper (1 tsp): Gives the mixture a gentle heat and aromatic spice.
- Vegetable oil (1 tbsp, for frying): Ensures the meat cooks evenly with a nice sear.
- Butter (for toasting): Used to crisp the bread and add a luscious buttery flavor.
- Fresh coriander or parsley (optional garnish): A fresh, green pop of color and brightness to finish the sandwich.
How to Make Singapore Malaysian French Toast (Roti John) Recipe
Step 1: Prepare the Meat Filling
Start by mixing the ground beef with finely chopped onions, mayonnaise, ketchup, soy sauce, oyster sauce, black pepper, and a pinch of salt in a bowl. This combination might sound simple, but it’s the magic behind the rich, tender, and flavorful filling that will make every bite unforgettable. Stir everything thoroughly to ensure each ingredient is harmoniously blended.
Step 2: Cook the Meat Mixture
Heat vegetable oil in a pan over medium heat, then add your meat mixture. Cook for 5 to 7 minutes, breaking up the meat with a spoon until it browns and cooks through fully. This step develops the savory, caramelized flavors that define the heart of the Singapore Malaysian French Toast (Roti John) Recipe. Once done, set the delicious meat aside for assembly.
Step 3: Prepare the Bread for Toasting
Beat the eggs in a shallow dish, then lightly butter both sides of each bread piece. Dip each slice thoroughly into the beaten eggs so that the bread soaks up just enough for a golden crust when toasted. This coating is what gives Roti John its unique, melt-in-your-mouth texture that’s crisp outside and soft inside.
Step 4: Toast the Bread
In a clean pan, melt a little butter over medium heat. Toast the egg-coated bread slices for about 2 to 3 minutes on each side until they turn a gorgeous golden brown. This is where the magic happens—the butter caramelizes the egg coating on the bread, creating a crunchy shell that contrasts perfectly with the juicy filling.
Step 5: Assemble the Sandwich
Now comes the fun part! Pile a generous helping of the flavorful cooked meat mixture onto one slice of toasted bread, then top it with another slice to form a sandwich. The warmth of the meat will soften the bread slightly while maintaining its crispiness, creating a beautiful texture balance unique to the Singapore Malaysian French Toast (Roti John) Recipe.
Step 6: Garnish and Serve
For the final flourish, sprinkle fresh coriander or parsley over the sandwich if you like a bit of herbal brightness. Serve your Roti John immediately to enjoy that perfect combination of warm, savory filling and crispy bread.
How to Serve Singapore Malaysian French Toast (Roti John) Recipe

Garnishes
Fresh herbs like coriander or parsley add not only a burst of color but also a refreshing contrast to the richness of the meat and bread. For extra zest, a light drizzle of chili sauce or a sprinkle of sliced fresh chilies can add a wonderful kick that complements the savory flavors beautifully.
Side Dishes
This sandwich pairs wonderfully with simple sides like crisp cucumber slices or a fresh slaw dressed lightly with lime and sugar to cut through the richness with a touch of acidity. For a heartier meal, serve alongside some crispy potato wedges or a bowl of warm, clear soup.
Creative Ways to Present
To impress guests or just elevate your own meal, slice the assembled Roti John into smaller, bite-sized portions perfect for sharing. For brunch, serve with a small salad of cherry tomatoes and greens. You can also get creative by adding cheese to the meat mixture or swapping out the bread for a soft bun for a different texture but all the same tasty vibes.
Make Ahead and Storage
Storing Leftovers
If you happen to have any leftovers from your Singapore Malaysian French Toast (Roti John) Recipe adventure, wrap them tightly in cling film or place in an airtight container and refrigerate. They’re best eaten within 1 to 2 days to enjoy freshness and avoid sogginess.
Freezing
While this dish is best fresh, you can freeze the cooked meat mixture separately in a sealed container for up to a month. Avoid freezing the assembled sandwiches as the bread can become mushy. When ready to use, thaw the meat overnight in the refrigerator.
Reheating
Reheat by warming the meat filling in a pan until piping hot. Toast fresh bread slices with butter just before assembling again to bring back that crisp, golden exterior. This method ensures you still enjoy the best textures and flavors in your Singapore Malaysian French Toast (Roti John) Recipe.
FAQs
Can I use chicken instead of beef for this recipe?
Absolutely! Ground chicken works wonderfully and gives a lighter flavor while still soaking up all the tasty sauces. Just make sure to cook it fully until no longer pink.
What type of bread is best for Roti John?
A crusty baguette or thick white bread is ideal to hold the filling while getting crispy when coated with egg and toasted. Avoid very soft bread that might fall apart.
Can I prepare the meat filling in advance?
Yes, you can mix and cook the meat filling a day ahead and refrigerate it. Just reheat gently before assembling your sandwich for quick meals.
Is this recipe spicy?
Traditionally, Roti John is mild but flavorful. You can always add chopped fresh chilies or chili sauce to spice things up according to your taste.
What can I serve with Singapore Malaysian French Toast (Roti John) Recipe for a full meal?
Pair it with a fresh salad, pickled vegetables, or a bowl of soup for a satisfying, balanced meal that complements the sandwich’s richness.
Final Thoughts
Making and savoring the Singapore Malaysian French Toast (Roti John) Recipe at home is like inviting a little street-food magic into your kitchen. It’s simple, packed with layers of flavor, and immensely satisfying. Whether you’re looking for a quick weekday treat or a crowd-pleasing dish to impress friends, this recipe delivers on all fronts. Trust me, once you try it, you’ll find yourself going back for seconds and maybe even thirds. So get cooking and enjoy every delicious bite!
Print
Singapore Malaysian French Toast (Roti John) Recipe
- Prep Time: 10 minutes
- Cook Time: 15 minutes
- Total Time: 25 minutes
- Yield: 4 servings
- Category: Sandwich
- Method: Frying
- Cuisine: Singaporean, Malaysian
Description
Singapore Malaysian French Toast, also known as Roti John, is a delicious fusion sandwich featuring a savory ground beef filling seasoned with traditional sauces and spices. The filling is cooked and placed between two slices of egg-coated, butter-toasted bread, creating a crispy and flavorful dish perfect for breakfast or a hearty snack.
Ingredients
For the Beef Filling
- 300g ground beef (or chicken)
- 1 small onion, finely chopped
- 2 tbsp mayonnaise
- 2 tbsp ketchup
- 1 tbsp soy sauce
- 1 tbsp oyster sauce
- 1 tsp ground black pepper
- Pinch of salt
- 1 tbsp vegetable oil (for frying)
For the Bread and Assembly
- 4 pieces baguette or thick white bread
- 2 eggs, beaten
- Butter (for toasting the bread)
- Fresh coriander or parsley (for garnish, optional)
Instructions
- Prepare the Beef Mixture: In a bowl, combine the ground beef, finely chopped onion, mayonnaise, ketchup, soy sauce, oyster sauce, black pepper, and a pinch of salt. Mix thoroughly to ensure all ingredients are evenly incorporated.
- Cook the Beef: Heat the vegetable oil in a pan over medium heat. Add the beef mixture and cook for 5-7 minutes, breaking up the meat with a spoon as it cooks. Continue until the beef is fully cooked and browned. Once done, set aside.
- Prepare the Bread for Toasting: Beat the eggs in a shallow dish. Lightly butter both sides of each bread slice. Then, dip the buttered bread slices into the beaten eggs, coating them well on both sides to ensure a rich egg layer for toasting.
- Toast the Bread: In a clean pan, melt some butter over medium heat. Place the egg-coated bread slices onto the pan and toast them for 2-3 minutes on each side, or until they turn golden brown and crispy with a delightful crunch.
- Assemble the Roti John: Take one slice of the toasted bread and spread a generous portion of the cooked beef mixture on top. Then place the second slice of toasted bread over the filling, creating a sandwich.
- Serve: Serve the assembled Roti John immediately. Optionally, garnish with fresh coriander or parsley for an extra burst of flavor and color. Enjoy this savory and satisfying sandwich while warm.
Notes
- You can substitute ground chicken for beef for a lighter version.
- Adjust the level of black pepper or sauces to suit your taste preferences.
- Fresh coriander or parsley garnish is optional but adds freshness and appealing presentation.
- Ensure bread slices are thick enough to hold the filling without falling apart.
- This sandwich is best enjoyed immediately after assembly to maintain crispiness.

