1. Prepare the beef by slicing in thin strips, cutting against the grain. Put the strips into a medium sized bowl.
2. Combine the lemongrass, honey, ginger, garlic, fish sauce, dried chili flakes, five spice powder, sesame oil, salt, coconut milk, shallots, lime and vegetable oil in a medium sized bowl. Pour over the beef and using your hands work the marinade into the beef until beef is fully coated. Cover and chill for at least an hour to overnight. The longer the beef can marinate the stronger the flavor.
3. Prepare the veggies for the stir fry. In an oiled and hot medium sized pan or wok stir fry the onions, bean sprouts and ten of the basil leaves. Be careful not to overcook as you want the vegetables still crisp. Remove from pan and set aside.
4. In the same pan, fry the remaining basil leaves in vegetable oil for five minutes until crisp. Set aside on a paper towel. Prepare pan for deep frying by adding more oil.
5. Remove beef from the marinade shaking excess marinade off. Set aside the marinade.
6. In a small bowl, dredge beef in flour being sure to shake off any excess flour. Add the beef into the prepared pan and deep fry until lightly crisp. Remove beef and dredge the beef again.
7. Remove beef. Drain excess oil from pan and on medium heat add the beef and hoisin sauce and rest of marinade and stir until the marinade reduces and the beef is well coated.
8. Add the stir fried vegetables and basil into a large serving bowl. Add beef on top and garnish with the crispy basil and peanuts. Serve with rice if desired.