Heat the oil in a large, heavy-based frying pan over medium–high heat.
Cook the beef in batches for 4–5 minutes, turning regularly using tongs, until browned all over. Set aside on a plate.
To the same pan, add the lemongrass, onion, ginger and garlic. Cook, stirring, for 2–3 minutes until fragrant.
Add the curry paste (see note 1 for spice levels) and cook, stirring, for 30 seconds.
Stir through the coconut milk, sugar and fish sauce. Return the beef to the pan and bring to a simmer, or transfer to slow cooker for 6h on low.
Reduce the heat to low, cover and simmer for 2 hours. Check the sauce at the halfway point, adding ½ cup (125 ml) of water if the sauce is catching on the bottom of the pan. At the end of the 2 hours, the beef should be soft enough to break apart with a fork, if not, continue cooking in 30-minute intervals.
Once the beef is tender, remove the lid, increase the heat to medium–high and simmer, uncovered, for a further 15 minutes or until the sauce is thickened to your liking (see note 3).
Remove from the heat and stir through the lime juice.
Serve with jasmine rice, extra lime wedges, crushed peanuts, and the Thai basil leaves and chilli (if using).
