Paleo koofteh, Persian meatballs, are a weekend project worth every minute: tender ground beef balls wrapped around a walnut-and-prune filling, then simmered gently in a turmeric-tomato broth. Cauliflower stands in for the traditional rice so the meatballs stay grain-free without anyone noticing. The result is comfort food with saffron perfume and a sweet-savory surprise in the center.
SERVES 4 (MAKES 10 MEATBALLS)
Like most Middle Eastern dishes, koofteh takes a while to make because the meatballs are simmered in broth, low and slow. This dish is perfect for a leisurely weekend dinner. Traditionally this recipe calls for white rice, but I’ve substituted cauliflower rice, which works surprisingly well! No one in my family has ever even noticed the missing rice.
INGREDIENTS
2 strands of saffron
2 tsp/10 ml of filtered water
FOR THE FILLING:
1 tbsp/15 g ghee
½ onion, diced
½ cup/60 g walnuts, chopped
½ cup/85 g prunes, chopped
FOR THE SAUCE:
1 tbsp/15 g ghee
½ onion, diced
2 cloves garlic, crushed
½ tsp turmeric
6 tomatoes, peeled, chopped and seeds removed
2 cups/475 ml filtered water
½ tsp sea salt
FOR THE MEATBALLS:
1 cup/230 ml cauliflower
½ tsp sea salt
¼ tsp pepper
1 lb/455 g ground beef
½ onion, grated
1 egg
½ cup/20 g fresh parsley, chopped
¼ cup/10 g mint, chopped
½ tsp turmeric
tomato broth
COOKING INSTRUCTIONS
Place the strands of saffron in a small bowl and cover with 2 teaspoons/10 ml of water and set aside. Prepare the filling. Heat a large sauté pan over medium heat, preferably one with a large, flat base and shallow sides. Add 1 tablespoon/15 g of ghee and sauté half the diced onion in ghee until translucent. Add the walnuts and prunes and sauté for a few minutes until well combined. Set the filling aside.
Prepare the sauce. Add another tablespoon/15 g of ghee to the same pan and sauté the remaining half onion until soft and translucent, about 10 minutes. Add garlic and turmeric. Stir well and sauté for 2 more minutes. Add chopped tomatoes, water and salt. Cover and simmer on low heat while you form the meatballs.
To form the meatballs, remove the stem of the cauliflower and put through food processor until it resembles rice. In a large bowl, combine cauliflower, salt, pepper, meat, grated onions, eggs, parsley, mint, turmeric and saffron and mix well. Round mixture into balls, poke a hole in the middle, fill with filling and close. You should be able to make about 10 meatballs.
Slowly place the meatballs in the simmering sauce. Cook on low heat for an hour or until meatballs are cooked through. Carefully turn the meatballs halfway through cooking so both sides have a chance to be immersed in the liquid. Serve meatballs in bowls along with tomato broth.
Pro Tips
- Bloom the saffron in the water first — those two teaspoons of liquid carry the aroma through the entire meat mixture, so don't skip the soak.
- Pulse the cauliflower until it genuinely resembles rice before mixing; larger pieces make the meatballs crumble when you stuff and seal them.
- When forming each ball, poke the hole, nest in the walnut-prune filling, and pinch firmly closed — a cracked seam will leak the filling into the broth.
- Turn the meatballs carefully halfway through the simmer so both halves spend time submerged and cook evenly in the shallow tomato broth.
- If the vegetable mixture gives off liquid when pulsed, drain it before combining with the meat or the mixture will be too loose to shape.
Frequently Asked Questions
Can I make koofteh ahead of time?
Yes — the flavor improves overnight. Cool the cooked meatballs in their broth, refrigerate for up to three days, and rewarm gently so they don't break apart.
What can I use instead of cauliflower rice?
Traditional koofteh uses white rice. If you eat rice, the same cup of cooked rice works — the paleo version uses cauliflower purely to keep it grain-free.
Why do my meatballs fall apart?
Usually the mixture is too wet or the stuffing seams weren't sealed. Drain any vegetable liquid, mix until the meat holds together firmly, and press each ball closed before it goes in the broth.
Can I cook the meatballs in the oven instead?
The low simmer in tomato broth is what makes koofteh tender and keeps the meatballs intact. Baking is possible, but you'll lose the silky broth that makes the dish.
Recipe Card
Ingredients
Method
- COOKING INSTRUCTIONS Place the strands of saffron in a small bowl and cover with 2 teaspoons/10 ml of water and set aside. Prepare the filling.
- Heat a large sauté pan over medium heat, preferably one with a large, flat base and shallow sides.
- Add 1 tablespoon/15 g of ghee and sauté half the diced onion in ghee until translucent.
- Add the walnuts and prunes and sauté for a few minutes until well combined.
- Set the filling aside. Prepare the sauce.
- Add another tablespoon/15 g of ghee to the same pan and sauté the remaining half onion until soft and translucent, about 10 minutes.
- Add garlic and turmeric.
- Stir well and sauté for 2 more minutes.
- Add chopped tomatoes, water and salt.
- Cover and simmer on low heat while you form the meatballs. To form the meatballs, remove the stem of the cauliflower and put through food processor until it resembles rice.
- In a large bowl, combine cauliflower, salt, pepper, meat, grated onions, eggs, parsley, mint, turmeric and saffron and mix well. Round mixture into balls, poke a hole in the middle, fill with filling and close. You should be able to make about 10 meatballs. Slowly place the meatballs in the simmering sauce.
- Cook on low heat for an hour or until meatballs are cooked through. Carefully turn the meatballs halfway through cooking so both sides have a chance to be immersed in the liquid.
- Serve meatballs in bowls along with tomato broth.




