Melt butter in a large stockpot over medium-high heat. Add celery, onion, and carrot; sauté for 4 minutes. Stir in flour and cook 1 minute more.
Add cabbage, broth, ham, potatoes, parsley, thyme, marjoram, and ground pepper. Bring to a boil over medium-high heat; reduce heat and simmer until potatoes are tender, about 30 minutes.
Stir in peas and cook for 10 minutes. Ladle into bowls and serve.