Combine all the sauce ingredients in a small bowl, stirring to mix well. Set aside.
For the beef, heat the olive oil in a large, deep frying pan on medium–high heat.
Add the onion, garlic and ginger. Cook, stirring, for 1–2 minutes.
Add the beef, breaking it up as you go with a wooden spoon. Cook for 2–3 minutes or until just browned (the beef will continue to cook as the other ingredients are added).
Add the beans and carrot and toss for a further 1 minute.
Add the sauce and simmer for 2–3 minutes until the vegetables are tender and the beef is cooked through (see note 3 for sauce consistency).
Serve the beef mixture in a bowl with the lettuce leaves, spring onion, chilli (if using) and roughly chopped peanuts with the lime wedges and reserved Thai basil leaves on the side. Allow everyone to spoon the filling into lettuce leaves and fill with the toppings. Eat with your hands and enjoy! Have some napkins ready, because this one is meant to be messy!
