Heat the oil in a heavy based pan over medium-high heat. Add the onion and cook, stirring occasionally for 5 minutes or until translucent. Add the garlic, stir, and cook for 2 minutes. Add the beef and cook for 5 minutes, break it apart to avoid clumps. Add ½ a cup of water and deglaze the pan. Add the other taco beef ingredients, cover, and cook for a further 20 minutes.
Meanwhile prepare the salsa by putting all the ingredients, except the lettuce, in a bowl, mix and check for seasoning.
Remove the first deep green leaves of the lettuce and chop roughly. Carefully remove another 8 leaves to make your wraps.
When the beef is cooked, fill each of the lettuce leaves with an eighth of the beef, chopped lettuce, salsa and toppings.