Prep ingredients. Have everything chopped and ready to go before you start the recipe.
Make the sauce. In a small bowl, combine lime zest and juice, hoisin sauce, soy sauce, sesame oil, and red chile flakes; stir until smooth and set aside.
Prep tofu. Drain tofu and pat dry with paper towels. Cut into 1-inch cubes and pat dry again. Don't press too hard, this will make it tough and chewy.
Stir-fry tofu. Heat 2 tablespoons of the canola oil over high heat in a large frying pan or wok if you have one. Season the oil with salt and pepper and swirl around so it coats the bottom of the pan. Add the tofu and spread into an even layer. Let cook, undisturbed until golden brown on two sides, about 4-5 minutes per side. Remove to a plate.
Stir-fry vegetables. Add remaining 2 tablespoons of the canola oil to pan and add green onions, ginger, chili flakes, asparagus, and garlic. Cook, stirring frequently, until asparagus turns bright green (a couple of minutes). Return tofu to the pan along with the hoisin sauce mixture and stir to incorporate. Remove from heat and stir in cashews, mint and basil. Serve with steamed rice or noodles.