Soak the bread in milk, then add the soaked bread, egg, onion, garlic, and spices. Mix to combine.
Flatten out a piece of ground beef in your hand and add the hard-boiled egg in the center.
Carefully enclose the filling to form the meatball.
Repeat the first 2 steps until there is no meat left. Try to make the meatballs all the same size, that way they cook evenly.
Remove the stems from the dried chipotle. For the guajillo peppers, remove the stem and open up lengthwise to remove the seeds and veins. Boil and let sit in hot water until pliable.
Roast the tomatoes, onion, and garlic. Add the sauce ingredients to a blender and blend until smooth.
Heat the oil and slowly strain the sauce into the pot. Cook the sauce for 10 minutes. Add the bouillon and water and mix to combine.
Drizzle plenty of that sauce on the meatballs, because you can never have enough sauce!