Wash and chop meat, removing excess fat. Add to a large pot, then cover with water. Mark whole onion with a cross (don’t chop) and add to pot, along with two whole garlic heads. Cook on stove for 1½ hours or until tender (it can take up to 3 hours or more to really tenderize the meat); remove the foam.
Meanwhile, rinse and seed the chiles and place them in a separate pot with water. In a third pot, boil and cook tomatoes until the skin bursts, then add the chiles for 2 to 3 minutes. Remove from heat and let sit for 15 minutes to soften. Blend the tomato-chile mix thoroughly, adding water from the pot if it is too thick. Remove onion and garlic from the pot with meat, then strain the tomato-chile blend into the meat, ensuring no seeds or skins are included. (You can use a little bit of water from the pot to strain thoroughly.)
Drain and add hominy, ensuring the mix is watery enough for a brothy consistency. Next, add beef bouillon powder and salt to taste, and cook for another ½ hour to integrate flavors. Top with desired garnishes. Pozole always tastes better the next day!