Thoroughly wash beans.
Cover with 2 quarts cold water; bring to boiling; boil gently 2 minutes.
Remove from heat; cover and let stand 1 hour.
(Do not drain.) Add ham bone, seasonings.
Cover; heat to boiling; boil gently till beans are tender, about 3 to 3 1/2 hours.
Add onion last half hour.
Remove ham bone; if desired, mash beans slightly with potato masher.
Cut ham off bone; return meat to soup.
Season to taste with salt and pepper.