Place leftover ham bone in a large stockpot or Dutch oven and add enough water to cover the bone halfway, about 6-7 cups. Bring to a boil; reduce heat and simmer until very fragrant, about 30 minutes to 1 hour; remove and discard ham bone.
Heat olive oil in a large stockpot or Dutch oven over medium heat. Add garlic, onion, carrots and potato. Cook, stirring occasionally, until onions have become translucent, about 2-3 minutes. Stir in ham stock, beans, corn, thyme and bay leaves; season with salt and pepper, to taste.
Bring to a boil; reduce heat and simmer until potatoes are tender, about 10-12 minutes. Stir in ham until heated through, about 1-2 minutes.
Serve immediately and enjoy!