Heat a frying pan over medium-high heat and add the tomatoes, onions and garlic.
Roast for 10 minutes, turning so that each side is evenly roasted. Be sure to only roast the garlic for two minutes. Any longer and it will taste bitter.
Once each side has blackened and the skin on the tomatoes has blistered, remove from the heat.
Place the veggies into your blender, along with ¼ cup of water and one chili from a can of chipotle chilies.
Blend for 30 seconds or until very smooth. You shouldn’t be able to see any pieces of tomato skin. Important: Cover the top of the blender with a kitchen towel and hold the top in place as you blend. Because the vegetables are hot, the pressure could cause the top to pop off and splash the hot ingredients.
Pour ¼ cup vegetable oil into a large pot heated over medium-high heat.
Once the oil is very hot, slowly pour the blended salsa into the pot. The salsa might splatter as you’re pouring, so work carefully.
Next, pour in the beef broth (or chicken broth).
Stir constantly and bring to a boil. Then lower the heat to medium and simmer until the tomato sauce darkens but doesn’t reduce. Meanwhile, make the meatballs.
Dice the ¼ onion and finely chop the cilantro.
In a large bowl, combine the ground beef, large raw egg, diced onions, breadcrumbs, cilantro, salt and pepper.
Mix all ingredients using a wooden spoon or combine with your hands
Break off a chunk of ground beef and roll into a rough ball.
Make a well with your finger in the meat and place a chunk of hard boiled egg in the well.
Close the well and roll into a ball. Repeat until you’ve rolled all the ground beef into balls.
Using kitchen tongs, place the raw meatballs into the hot salsa.
Cook for 20 minutes, turning over halfway through so the meatballs are evenly cooked.
Place your meatballs on a plate and spoon over the salsa.
Serve with a side of rice, bread or tortillas.