In a 4-quart saucepan, heat oil over medium-high heat. Add onions and cook, stirring occasionally, until soft and translucent, about 10 minutes.
Cut celery in half and do the same with the carrot; add both to the pan along with the peas, stock, and ham hock. Bring to a boil, lower heat to medium, and simmer, stirring occasionally, until tender and creamy, about 1 hour. (The time depends on the type and size of the peas.)
Remove ham hock, slice meat from bone, and chop; return meat to pan. Season peas with salt and pepper to taste.