Rinse the black-eyed peas and pick over. Add to a 4 quart pot, cover with water and bring to a boil for two minutes. Remove from the heat, cover and allow to stand for one hour.
Prepare the remaining ingredients while the black-eyed peas soak.
Heat the oil in a stock pot, or similar large pot, over medium heat. When hot, add the onion, carrot and celery. Season with salt and pepper and sweat until tenderized, about 8-10 minutes, stirring occasionally.
Add the green cabbage and continue cooking until wilted, 2-3 minutes.
Add the diced ham and stir to combine. Add the stock and stir to coat the ingredients. Drain the black-eyed peas and add to the pot. Add water just to the top of the ingredients in the pot. Stir well and bring to a boil.
Reduce heat, cover and simmer for about 30 minutes. Stir occasionally and check seasoning as the stew cooks, adjusting as desired.
Remove the lid, stir in the baby spinach and cook until wilted, about 5 minutes longer. Season to taste and serve hot in warmed bowls.