Gather all ingredients.
Place peas in a large stockpot and cover with several inches of cold water; let soak, 1 hour to overnight. Drain, rinse, and return peas to the pot.
Add 2 quarts of cold water, ham bone, onion, salt, pepper, and marjoram to the stockpot. Cover, bring to a boil, and simmer for 1 ½ hours, stirring occasionally.
Remove ham bone; cut off meat, dice, and return meat to soup.
Add celery, carrots, and potatoes.
Cook slowly, uncovered, until vegetables are tender, about 30 to 40 minutes.
Serve and enjoy!