Fill a medium saucepan three-quarters full with water and bring to the boil. Add the rice and cook for 25-27 mins until tender. Drain.
Step 2 — Start prep
While the rice is cooking, bring a small saucepan of water to the boil for the eggs. Finely grate the zest of half the lime, then juice the half. Cut the remaining lime into wedges. Separate the lime leaves, remove the central vein and finely chop. Crush or finely chop the garlic. Coarsely chop the cabbage. Finely chop the coriander, including the stems.
Step 3 — Finish prep
Shred the carrot using a julienne peeler or coarsely grate with a box grater. Thinly slice the cucumber on an angle. Coarsely chop the peanuts. Thinly slice the chilli, removing the seeds if less heat is desired (or you can omit the chilli if preferred). To make the dressing, whisk 2 tsp lime juice, 3 tsp oil and ½ tsp soy sauce in a bowl until combined.
Step 4 — Cook eggs
Cook 2 eggs in the pan of boiling water for 6 mins for soft-boiled, or 8 mins for hard-boiled. Drain, then cool in cold water.
Step 5 — Cook beef mixture
BEEF OPTION Meanwhile, heat 1 tsp oil in a medium frypan over high heat. Cook beef mince and cabbage, breaking up lumps with a spoon, for 3-4 mins until beef is browned. Add the lime zest, lime leaves, garlic and 2 tsp soy sauce and cook, stirring, for 1 min. Stir in coriander and ½ tsp white vinegar. Remove from heat. Season with salt and pepper.
Step 6 — Get ready to serve
Peel and quarter the eggs. Divide the rice, beef mixture, carrot, cucumber and egg among bowls. Drizzle with the dressing and scatter with the peanuts and chilli. Serve with the lime wedges.