1. Soak beans in water to cover by 2 inches overnight. (To quick-soak: Place beans with water to cover by 2 inches in large saucepan and bring to boil; boil 2 minutes. Cover and let stand 1 hour.) Drain.
2. Heat oil in Dutch oven over medium heat. Add onions, carrots, and celery; cook, stirring occasionally, until tender. Add garlic, cumin, and red pepper flakes; cook 30 seconds. Stir in beans, broth, water, bay leaf, thyme, and ham hocks. Bring to boil; reduce heat, cover and simmer 30 minutes. Stir in tomatoes with juice and salt; simmer, covered, until beans are very tender, 1 to 1-1/2 hours more.
3. Remove ham hock. Cut meat from bone. Discard skin and bone and bay leaf and return meat to soup. With potato masher, mash soup to thicken. Garnish with lemon slices, if desired.