Wash the beef thoroughly. Season with salt, one seasoning cube, half the onion (roughly chopped), the habanero, and the grated ginger. Add enough water to cover generously. Cover and cook for 40 to 50 minutes, until tender.
About 10 minutes into cooking the beef, debone the smoked turkey, cut into bite-sized pieces, and add to the pot. Continue cooking until the beef is tender.
While the meat simmers, dry-roast the groundnuts over medium heat for about 5 minutes, until well browned but not burnt.
Let them cool until just warm, then grind to a fine powder using a coffee grinder, dry mill, or spice grinder. A mortar and pestle also works.
Roughly chop the tomato, bell pepper, and remaining half of the onion, then blend until smooth.
Pour the blended mixture into the pot with the meat and stock. Add the palm oil, crayfish, and remaining seasoning cube. Simmer uncovered for about 15 minutes, until the raw tomato smell is gone and the sauce has reduced slightly.
Stir in the groundnut powder a little at a time, mixing until completely dissolved with no lumps. Cover and cook for 10 to 12 minutes over medium heat, stirring and checking every few minutes.
Stir in the spinach and simmer for two more minutes. Taste and adjust salt. Adjust thickness with extra stock if needed.
Serve hot.