Trim fat from ham steak; coarsely chop ham. Reserve bone.
Cook ham in hot oil in a Dutch oven over medium-high heat, stirring often, 6 to 8 minutes or until browned. Add diced onion, and next 5 ingredients, and sauté 5 minutes or until onion is tender.
Stir in reserved ham bone, navy beans, and next 3 ingredients; add water to cover. Bring to a boil; cover, reduce heat to low, and cook, stirring occasionally, 45 minutes. Remove and discard bone before serving. Stir in spinach just before serving. Garnish, if desired.