In a large dutch oven or soup pot, add 10 cups water, beef shanks, beef chuck, garlic, bay leaves, and the salt. Bring to a boil, reduce heat to simmer, cover and cook for 90 minutes, or until the meat is tender. Skim off and discard any brown foam floating at the top.
Remove the beef shank/bones and with a slotted spoon remove the pieces of cooked beef chuck, bay leaves and garlic cloves. Transfer cooked beef shank/bones to a bowl, and set aside to cool. Transfer cooked beef chuck pieces to a small bowl. Discard the bay leaves and garlic cloves. Taste, and add 1 beef bouillon cube to the pot if more beef flavor is desired.
Add the potatoes, corn, carrots, jalapeno and 2 cups of water to the pot.
Bring soup to a boil, then add the cabbage, zucchini, chickpeas and mint (See Note 2). Cover and turn heat to simmer and cook until vegetables are tender and cooked through, (check potatoes and carrots with fork), about 15 minutes.
While the vegetables are cooking, pick over and remove any bits of meat from the bones and discard bones. Add meat to small bowl with beef chuck. Chop the meat into small bite size chunks and add to soup pot. Cook another 5 minutes to heat meat through.
Remove mint sprigs and discard. Season with salt and pepper, stir everything thoroughly. Serve soup in large bowls, making sure that each bowl gets a little bit of everything. Serve and top each bowl with cilantro, freshly squeezed lime juice and warm tortillas (optional).
Most traditional recipes call for just the meat off the beef shanks. I found this too little for the effort, so I add pieces of beef chuck. Beef short ribs work as well.
I add the cabbage, zucchini, and chickpeas after everything has come to a boil so they do not over cook and become mushy.