1Cover beans plus 2" of water in large pot; heat to boiling. Reduce heat and cook 2 minutes. Remove the beans from heat; let stand, covered 1 hour. Drain.
2Sauté onion & garlic in oil until onion is tender, 5 minutes. Add the beans & remaining ingredients, except tomatoes, spinach, salt, pepper and cayenne; heat to boiling, reduce heat and simmer covered until beans are tender, 1 hour.
3Discard ham hock & bay leaves. Add tomatoes with liquid & spinach; simmer until hot, 5 minutes. Season to taste with salt, pepper and cayenne.