Place beef, onion, garlic, bay leaves, and salt into a large stockpot.
Cover with water and bring to a boil.
Cook over medium heat until the meat is nicely tender (read notes).
Allow the cooked beef to cool down a bit then shred it in a large mixing bowl.
Add lettuce, tomatoes, red onions, radish, and peppers to the bowl (don't add the avocado yet).
Add lime juice, olive oil, vinegar, oregano, and then season with salt and pepper.
Toss everything for 2 minutes to coat perfectly all the vegetables and meat.
Cut the avocado in half, remove the pit, and make a grid with a knife. Scoop up the flesh and add it to the bowl.
Gently mix the salad and then adjust the seasons to taste.
Chill the salad for 15 minutes in the fridge, then serve.
If you use a regular stockpot and cook the meat on the stove, it can take up to 3 hours to have it fully cooked. Other options for cooking the beef might include the Crockpot (at low for 8 hours), the Instant Pot (about 40 minutes), or also a pressure cooker.
Shred the meat when is still a bit hot, it would be easier than cooled meat.
The reason to add avocado as the last ingredient is to not smash it when you mix the other vegetables and meat with the dressing.
Make sure to mix in the dressing about 15 to 20 minutes before serving. It is an ideal time frame to infuse the flavors.
The best way to eat this shredded beef salad is with crispy tostadas or corn chips.