Combine beans and water in a large Dutch oven; bring to a boil. Remove from heat; cover and let stand 1 hour.
Add ham bone, onion, salt, and pepper to beans; bring to a boil. Reduce heat; cover and simmer 2 hours. Remove ham bone from soup; remove meat from bone, and return meat to soup. Discard bone.
Ladle soup into individual bowls, and serve immediately with hot cornbread.