Heat olive oil in a large skillet over medium heat.
Sautee onion and garlic until tender; set aside. Put ham hocks, onion, garlic and water into a stockpot, season with pepper to taste, cover and bring to a simmer for 1 1/2 hours.
Stir the sauerkraut and beans into the soup.
Place bacon in a large, deep skillet. Cook over medium high heat until evenly brown.
Remove bacon into the stockpot, reserving drippings. Stir flour into the bacon drippings to make a roux. Stir the roux into the soup. Continue to simmer the soup until thick.