Simmer in 2 cups fresh water with ½ tsp salt until tender, about 1 hour covered. Reserve ½–1 cup cooking liquid.
Make the salsa verde
Char the tomatillos, jalapeños, onion, and garlic in a skillet for 5 minutes.
Sprinkle over 1 tbsp Knorr chicken bouillon, ½ tsp cumin, and ¼ tsp Mexican oregano. Mix to toast the seasonings briefly, then add 2 cups of water and simmer for 5 minutes, covered.
Add everything to a blender along with ¼ cup cilantro. Blend until smooth and set aside.
Cook the bacon and beef
In a separate pot, brown the bacon over medium-low heat until crispy. Set it aside on paper towels.
Saute the cebollitas (Mexican green onions) in the bacon fat until fragrant, about 1-2 minutes over medium heat. Set aside with the bacon.
Remove some of the bacon fat if there is a lot. Add the cubed beef and season with salt, pepper, and garlic powder.
Continue cooking the beef in its juices for about 5 minutes.
Pour salsa verde into the pot, scraping browned bits.
Cover and let it simmer gently for 15 minutes.
Stir in beans, ½–1 cup reserved bean liquid, half of the bacon, and cebollitas. *If using canned beans, rinse and drain before adding.
Taste the soup and adjust seasoning/consistency to your liking. I usually add a little salt and water if it's too thick. Simmer 5 more minutes covered.
Assemble the soup
Ladle into bowls. Top with raw onion, radish, cilantro, crispy bacon. Serve with warm corn tortillas and enjoy :)
Notes
Canned beans substitution: You can use canned pinto beans instead of cooking them from scratch—just rinse and drain before adding. You will also need to add a bit more water.
Adjusting spice: Reduce or remove the seeds from jalapeños/serranos in the salsa verde to make the soup milder.
Simmer gently, not aggressively. A low simmer keeps the beef tender and prevents the broth from reducing/thickening too quickly.
Servings: This recipe serves between 2-3 hungry people. You can double all the ingredients to make it for 4-6 people.