For the meatballs, combine all meatball ingredients in a large bowl, mix with hands. Refrigerate and cover for 1 hour.
Meanwhile for the sauce, if using fresh tomatoes, place on a cooking sheet and broil, turning once or twice until the skins bister and blacken, about 10 minutes. Peel the skin off tomatoes and place the peeled (or canned tomatoes) in to a blender or food processor.
Put the garlic and onion into a hot, dry skillet and cook, turning occasionally, over medium heat, until the garlic is lightly browned and the onion is lightly scorched,.
Add to the blender along with 1/2 cup broth, chipotles to taste (start with 1), cinnamon, salt and pepper. Blend until smooth, Taste, and add more chipotles if desired.
Heat oil in a large , heavy and deep skillet over medium heat until quite hot but not smoking. Add the tomato mixture and "fry" until it thikckens (it will splatter), about 10 minutes.
Stir in the remaning 2 cups broth and heat to a boil. Stir in mint. Taste again, adjust salt and pepper, and add some adobo from the canned chilies if not spicy enough.
Shape the meat mixture into meatballs (about 1 inch diameter), the mixture should make 60 meatballs. Add the meatballs to the sauce, Shake the pan once or twice in the first 5 minutes of cooking to prevent sticking. Simmer slowly until the meatballs are done, about 30 minutes.