Skip to main content

In this hearty weeknight meal from recipe developer Sahara Henry Bohoskey, juicy pork meatballs get seared in a skillet, then simmered in a rich sauce of coconut milk and harissa. Henry Bohoskey’s preferred harissa is New York Shuk brand—it’s thick, punchy, and just spicy enough—but for bonus points go ahead and make your own. We like these saucy meatballs over mashed white beans, but they’re also good with polenta or orzo.

All products featured on Bon Appétit are independently selected by our editors. However, when you buy something through the retail links below, we earn an affiliate commission.

What you’ll need


4 Servings


medium shallots


garlic cloves


tsp. garam masala


cup finely chopped cilantro, plus leaves for serving


tsp. Diamond Crystal or 1 tsp. Morton kosher salt, divided, plus more

Freshly ground black pepper


lb. ground pork


Tbsp. plus ¼ cup refined coconut oil, room temperature

cup harissa paste


13.5-oz. can unsweetened coconut milk


15-oz. cans white beans, rinsed


tsp. sumac, plus more for serving


Step 1

Finely chop shallots and garlic. Combine garam masala, half of the shallots, half of the garlic, ½ cup cilantro, and 1 tsp. Diamond Crystal or ½ tsp. Morton kosher salt in a large bowl; season with pepper. Add pork and mix gently until just combined. Divide into 12 pieces and roll into balls.

Step 2

Heat 1 Tbsp. oil in a large skillet over medium-high. Cook meatballs, turning occasionally, until browned in spots, 5–8 minutes. Transfer to a plate.

Step 3

Reduce heat to medium; cook remaining shallots and garlic in skillet, stirring often, until garlic is softened, about 2 minutes. Stir in harissa paste, coconut milk, and 1 tsp. Diamond Crystal or ½ tsp. Morton kosher salt; season with pepper. Bring to a simmer, reduce heat to medium-low, and cook until slightly thickened, 6–8 minutes.

Step 4

Nestle meatballs into sauce; cover and cook 10 minutes. Turn meatballs over; cook, uncovered, occasionally spooning sauce over, until sauce is about the consistency of marinara, 8–10 minutes.

Step 5

Meanwhile, heat remaining ¼ cup oil in a medium saucepan over medium-high. Add beans and ½ tsp. sumac; season with salt and pepper. Cook, stirring and mashing beans and adding up to ¼ cup water a little at a time to loosen if needed, until heated through and almost completely mashed, about 3 minutes.

Step 6

Divide beans among plates; top with meatballs and sauce. Scatter cilantro leaves and sumac over.

How would you rate Coconut-Harissa Meatballs?

  • Warm, fiery, and filling! Perfect on a freezing winter night. Trader Joe’s harissa did the job, but I imagine it is milder in flavor than other brands. I substituted ground pork for turkey, and even with a leaner meat the dish was a bit too rich, so I cut it with acid (fresh lime) like other reviews mention.

    • Anonymous

    • Seattle

    • 12/30/2021

  • Echoing other comments, I suspect the brand of harissa makes a big difference. Cooks should add two-thirds at first and adjust accordingly. We were fine with the heat but felt it lacked bright notes, so added a tsp of sumac to the sauce. I also upped the garlic and garam masala in the meatballs 50%. We did one can of beans (with the full compliment of spicing) and added rice as a side. Meatballs were with ground turkey and a 1/4 cup of panko to help with texture.

    • Eric W

    • Durham, NC

    • 12/25/2021

  • Loved this recipe so much.. tweaked it a little, added extra sumac and a grated garlic clove to the beans because they were tasting a little bland. Also added a couple of tablespoons of ketchup to the sauce at the very end after tasting and realizing I was looking for a little more acid and didn’t have any tomato paste— the harissa I used could be the reason for that, every brand I’ve ever tried has been so different from the last. Can’t wait to make it again and add some vegetables.. I’m thinking spinach or peas

    • Anonymous

    • Brooklyn, NY

    • 12/18/2021

  • Did anyone else have trouble with excess oil? I only could find Harissa sauce, not paste, but, it seems like the coconut oil is the true culprit. Now I'm skimming oil and will try to freeze some and remove from sauce. (Harissa sauce from TJs has olive oil in it- )and the color is nothing as deep as this recipe- hummmm? will try to find a paste or lower the coconut oil by a LOT.

    • Anonymous

    • Santa Monica CA

    • 12/11/2021

  • This was delicious, but the brand of harissa must make a huge difference in the color of the sauce! Mine turned out quite beige/pinkish in the end so I was surprised at the bright-red color in the photo. Love the beans as a more interesting serving option than plain rice or pasta.

    • Anonymous

    • 12/8/2021

  • Flavorful, filling, fabulous! Every element (sauce, meatballs, beans) of this dish would taste great made separately - combine it all - delicious. In a pinch, I had to use ground beef but still tasty. Looking forward to eating the leftovers!

    • Anonymous

    • 12/7/2021

  • This is a great recipe with tons of flavor! It's nice to have a healthy base that isn't cauliflower. Easy to make this with pork or even with the Beyond meat substitute. I added mushrooms to the simmer and it was great. Also, if you can find a mild harissa it's nicer for those who can't handle as much spice. Would make this again for sure!

    • Betsy

    • Dallas, TX

    • 12/6/2021

  • Wow, amazing! I made minor tweaks but this is pretty perfect. I used 1lb ground beef, 1 lb ground turkey, onion instead shallots, 1 tbsp garam masala, 2 tbsps harrisa spice, instead of paste and 2 cans of coconut milk. Just because I was working with what was in my house. I also served it over buttery, smoky rice instead of beans! My in-laws raved and my father in-law usually doesn't like "fancy" flavors.

    • Nika S

    • Montana

    • 12/1/2021

  • I'm so thankful for this cozy, cold weather recipe (especially the day after getting home from Thanksgiving with my little cousins' cold). I used it as a guide and raided the freezer and pantry- subbed ground lamb and wagyu for the pork and ranchero sauce for the harissa. Sautéed sliced red peppers and cabbage before adding the coconut milk and served it over yellow peas. My sweetheart says, "better write that one down!" Thanks for a excellent inspo!

    • Leah

    • Nantucket, Massachusetts

    • 11/30/2021

  • Anything I can substitute sumac for? Can't seem to find it in the store around here. mahalo

    • glee

    • kailua, HI

    • 11/30/2021

  • Very tasty dish! We didn't realize the punch it would pack on the spiciness side of things and ended up having to come up with a plan B for our daughter but my wife and I were big fans of it. The coconut, garam masala and sumac all come together to make an absolutely outstanding flavor. Will definitely make it again!

    • James K

    • Denver, CO

    • 11/25/2021