Place the tomatoes, onion, and garlic on a hot griddle to roast. Turn ccasionally to have an even roasting (about 5-7 minutes). Once roasted, place in your blender and process until you have a smooth sauce. If your tomatoes aren’t juicy and your blender is having a hard time blending, add ¼ cup of water.
Heat 1 tablespoon of oil in a large saucepan at medium high heat. Once it is hot, gently pour in the sauce and cook for about 5 minutes and then add the chicken broth. Keep cooking. When it starts boiling, reduce the heat to simmer. While the sauce is cooking we will start forming the meatballs.
To from the meatballs: In a small bowl, soak the bread with the milk until it is softened, about 1 minute.
Place meat in a large bowl and make a well in the center.
Grind garlic clove and peppercorns in your molcajete (the flavors won’t be able to compare if you use the dried form, but they’ll still work fine). Once ground, add it to the meat, as well as the bread soaked in milk and the beaten egg. Season with salt.
Gently mix with your hands or a wooden spoon. Do not over-mix or your meatballs will be hard. Next, form the small balls (the size of a golf ball) with your hands, without forcing or putting too much pressure on the meat, and carefully drop them into the simmering tomato broth. Keep making the meatballs, repeating this process. Once all of the meatballs are in the broth, cook for another 15 to 20 minutes. 5 minutes before they’re done, add the chopped cilantro and season with salt.