Combine all the ingredients except the bacon in a 5-quart slow cooker and cook on low for 8-9 hours (see the note about presoaking the dry beans).
Carefully puree ½ to ¾ of the soup in a blender (hot soups like to expand in the blender so only fill the blender halfway and process in batches, if needed). I don't love the idea of pureeing ham, call me crazy, so I tried my best to scoop out ladles of soup to blend that were free of ham. Alternately, you could use an immersion blender and get in there with it and go to town (leaving the soup with as much texture as you desire).
Add additional salt and pepper to taste, if needed.
Cook the bacon in a hot skillet until crisp; drain on paper towels. Serve the soup with crumbled bacon on top.
